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 :)
Selbstverständlich ist das möglich. Du kannst z.B. mit TCNT0 = 0; den Timerzähler für Timer 0 auf 0 setzen.
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.