mikrocontroller.net

Forum: Compiler & IDEs 8Bit Timer


Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi.
Ich bin mir gerade nicht ganz sicher ob meine Rechnung stimmt.
Ich will die blinkfrequenz meiner LEDs berechnen, welche ich mit einem
Timer blinken lasse.
Als Quarz haben ich 4MHz, einen Teilungsfaktor von 1024 und meinen
Timer  lasse ich ein Ereigniss alle 60 durchläufe also Outputcompare =
60 auslösen.

Das heisst ich hab folgende Rechnung :
4000000  1014  60 / 2 = 32Hz
Das komische ist das ich es noch gaaanz leicht flackern sehe also kann
da irgendwas nicht stimmen.
(die zwei weil ich ja bei einem Vorgang auschalte und beim nächsten
wieder ein)

Hier mein C Code:
(ATMEGA8515)
#include <avr/io.h>
#include <stdint.h>

#include <avr/signal.h>
#include <avr/interrupt.h>


uint8_t  blub;


SIGNAL (SIG_OUTPUT_COMPARE0)
{
  
  //Ereigniss
  
  //blub++;
  //if (blub >= 8)
  //  blub = 0;

  //PORTB = ~(1 << blub);
  PORTB = ~PORTB;
}



int main(void)
{

  DDRB = 0xFF;
  PORTB = 0xFF;  

  //TIMER
  TCCR0 = 0b00000101;   //Prescaler definieren
  TCCR0 |= (1 << WGM01);  //Output Compare einschalten (CTC-Modus)
  OCR0  = 60;      //Wenn Timer bis 50 gezählt hat dann Ereigniss auslösen
und clearen
  
  TIMSK = (1 << OCIE0);  //Output compare interrupt aktivieren
  sei();          //Global interrupts on


  while(1);
}

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Problem hat sich erledigt.....


Das Problem hatte ich  mit nem ATMEGA162 nicht 8515...
hab gerade im AVR Studio gesehen das da so eine kleine Option "Divide
clock by 8 internally) an war.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.