Mega8 Timer erst nach Interrupt starten

#745236
Lesenswert?
• ▲
▼
Martin K. wrote:
> Hallo,
> ist es irgendwie möglich, den Timer erst nach dem ein externer Interrupt
> aufgetreten ist zu starten? Und das der Timer dann wieder nach einer
> Weile aufhört?

Ein Timer läuft, sobald er einen Vorteiler gesetzt bekommt.
Wie und wann du den Vorteiler für einen Timer setzt (bzw.
zurücksetzt um den Timer anzuhalten) ist ganz alleine
dir überlassen. Du kannst zb. im Interrupt Handler für
einen externen Interrupt den Vorteiler auf den von dir gewünschten
Wert setzen. Dann beginnt der Timer zu laufen sobald der externe
Interrupt auftritt.
#745929
Lesenswert?
• ▲
▼
Die Zeitspanne kannst du beliebig vorgeben. Das kann z.B. ein externer 
Interrupt sein oder eben sonst ein Ereignis (ob nun in der main oder in 
einem anderen ISR Handler ist egal).

Damit der Timer wieder anhält (und keine Interrupts bei Overflow oder 
ähnlichem erzeugt) setzt du das TCCR Register auf 0 (kein Vorteiler, 
kein Takt).

Kommt halt drauf an was du machen willst, erst so ergibt sich dann die 
"optimale" Lösung.

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