Manueller Timerreset ATmega16

OP #2559692
Lesenswert?

Hallo,

ich wollte fragen, ob es möglich ist, in einem Programm einen der in den 
ATmega eingebauten Timer manuell zurückzusetzen, um von einem bestimmten 
Moment an auf den Overflow zu warten.
Falls nicht, ist es eine vernünftige Alternative verschachtelte 
Schleifen zu benutzen oder gibt es eine naheliegendere Lösung?

Danke für die Hilfe :)
(Firma: Privat) #2559724
Lesenswert?

Krapao schrieb:
> Selbstverständlich ist das möglich. Du kannst z.B. mit TCNT0 = 0; den
> Timerzähler für Timer 0 auf 0 setzen.

Wer's noch genauer mag: man kann zusätzlich auch den Prescaler 
"resetten": Beim ATmega16 (*) das unterste Bit von Register SFIOR setzen 
und wieder zurücksetzen und auch der Prescaler fängt wieder von vorne 
an.
Achtung: damit wird der für beide Timer benutzte Prescaler 
zurückgesetzt!

(*) Bei den anderen ATmegas (z.B. den 8ern) geht das auch, da heißt das 
Register aber anders.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren