Hallo,
Ich habe ein Problem beim Verständnis der Datenblätter!
Einfache Frage: Kann ich einen Timer im CTC Modus immer zum TOP laufen lassen (mit interrupt)? Das heißt, ohne daß ich einen Vergleichswert vorgebe.
|
Anzeige
|
ATmega Timer CTC ASMHallo, Ich habe ein Problem beim Verständnis der Datenblätter! Einfache Frage: Kann ich einen Timer im CTC Modus immer zum TOP laufen lassen (mit interrupt)? Das heißt, ohne daß ich einen Vergleichswert vorgebe.
Ich verstehe sie trotzdem nicht - das zweite C in 'CTC' steht ja für compare: vergleichen. Und der Vergleichswert definiert TOP, steht z.B. bei einem ATmega328 in OCR1A bzw. ICR1.
Also erstmal: du solltest bei so einer Frage als erstes klarstellen, dass du primär die AVR8-Architektur und sekundär "Classic"-Atmegas (teilweise auch ATtinys) meinst. Es gibt andere Archtekturen und andere µC innerhalb der AVR8-Architektur! Nun die Antwort: Nein. Im CTC-Modus ist der Vergleichswert essentiell. Genau das macht nämlich den CTC-Modus aus. Der Vergleichswert IST hier TOP.
Wie willst du das bewerkstelligen? Im Register steht immer irgend ein Wert drin, auch wenn du dort nichts rein schreibst. Danke für die klaren Antworten! Vielleicht, zum besseren Verständnis, noch diese Tabelle. Ich finde, die Tabelle im Datenblatt bringt alles ganz genau auf den Punkt. Man beachte den feinen Unterschied zwischen TOP und MAX. Wenn ich dagegen mal die Datenblätter der neueren AVR mit ihrem Geschwurbel sehe, wird mir übel. Viele Fragen bezüglich der neuen Timer bleiben dort unklar.
Der Resetwert der Compareregister ist 0x0000, d.h. ohne Initialisierung geht da nichts.
Die neueren AVR sind verständlicher.
Eher schon ein Verständnisproblem mit Begriffen.
CTC steht für /Clear Timer on Compare match/. In diesem Modus zählt der Counter aufwärts und wird beim Erreichen des Vergleichswerts zurück auf 0 gesetzt. "CTC Modus benutzen" und "keinen Vergleichswert angeben" widerspricht sich somit. Und abgesehen davon ist immer ein Vergleichswert gesetzt. Das COMPx Register kann nicht "keinen Wert" enthalten. Wenn du es nie schreibst, hat es halt noch den Wert vom Reset (üblicherweise 0). Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|