Unterschied 8/16Bit-Timer bei ATmega64A

Gast #1983215
Lesenswert?
• ▲
▼
Hallo,

wenn ich den Timer0 also den 8Bit Timer mit
1
TCCR0 |= BIT0 + BIT1 + BIT2;  //Vorteiler 1024
2
OCR0 = 78;            
3
TIMSK |= BIT1;    //Interrupt aktivieren für TIMER0
initialisiere, dann springt das Programm auch in die TIMER0_COMP_vect 
ISR und wird alle 20ms aufgerufen.

Will ich jedoch den Timer1 mit 16Bit mit
1
  TCCR1B |= BIT0 + BIT2;
2
  OCR1B = 78;
3
  TIMSK |= BIT3;  //OCIE1B:
 einstellen dann wird die TIMER1_COMPB_vect ISR nur einmal aufgerufen 
bzw. viele Sekunden später aufgerufen.

unterscheiden die beiden Timer sich in einem Detail, dass man schnell 
übersehen kann? Clock läuft richtig und Interrupt sind global enabled. 
Wie gesagt mit dem 8Bit läuft es wie es soll. Mit dem 16er aber 
nicht....

Gruß

Maddin
Gast #1983269
Lesenswert?
• ▲
▼
Hi

Beide Timer machen das gleiche. Nur der 8-Bit-Timer läuft nach dem 
OC-Interrupt bis 255 und fängt dann bei Null wieder an, während der 
16-Bit-Timer bis 65535 zählt, bevor er bei Null wieder anfängt. Wenn bei 
Timer0 der Interrupt nach 20ms kommt sollte es beim Timer1 ca. 5s 
dauern.

Wenn beide Timer nur bis 78 zählen sollen, musst du den CTC-Mode 
einschalten.

MfG Spess

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.