www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Unterschied 8/16Bit-Timer bei ATmega64A


Autor: Maddin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn ich den Timer0 also den 8Bit Timer mit
TCCR0 |= BIT0 + BIT1 + BIT2;  //Vorteiler 1024
OCR0 = 78;            
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
  TCCR1B |= BIT0 + BIT2;
  OCR1B = 78;
  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

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Maddin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, habs vor 5min, nun auch rausgefunden, dass man CTC nehmen muss. 
Bin vom MSP430 gewohnt, dass der "Continious"Mode erst explizit 
eingeschaltet werden muss. Das ist hier nicht so.

Danke

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.