Forum: Mikrocontroller und Digitale Elektronik Timer bei 0 starten??


von Stefan Peter (Gast)


Lesenswert?

Hallo!

Ich will, wenn ein externer Interrupt ausgelöst wurde den 16-bit Timer
meines ATmega8 laufen lassen, beim nächsten externen Interrupt den
Timerwert aubspeichern und dann den Timer von neuem zählen lassen. Nun
meine Frage: Wie kann ich dem Timer mitteilen, dass er wieder von neuem
zu zählen beginnt? einfach 0x00 in die beiden Timerregister schreiben,
oder gibt es da eine andere, bessere Lösung? Bin für alle Tipps und
Tricks sehr dankbar!

Danke für eure Mühe!

von Malte Bayer (Gast)


Lesenswert?

Nö. ich wüsste da keine bessere Lösung, mache ich auch so.

von Peter (Gast)


Lesenswert?

Hallo

eine Möglichkeit indem der Zähler automatisch zurückgesetzt wird ist
mittels Hilfe des Compare Registers. Hat der Zählerwert den Wert im
Compare Register so wird Flag gesetzt und der Zähler beginnt erneut bei
0 (einstellbar). Für Deine Anwendung jedoch ist diese Methode
ungeeignet. Ich würde auch einfach eine 0 in das Zählerregister
schreiben, ist doch am einfachsten oder ??

Viele Grüße

Peter

von Peter D. (peda)


Lesenswert?

Man kann den Timer auch durchlaufen lassen und sich den vorherigen
Zählerstand merken und die Differenz bilden.

Das ist z.B. immer dann sinnvoll, wenn der Timer noch nebenbei andere
Sachen machen soll, wie PWM, RTC usw.


Peter

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
Noch kein Account? Hier anmelden.