Mehrfachverwendung v. Timer (AVR)

Gast #406160
Lesenswert?
• ▲
▼
Hallo,

viele AVR's und andere µC haben 2 Timer, die entweder als 2 separate
8-Bit Timer laufen oder als ein gemeinsamer 16-Bit Timer. Wie kann man
mehrere Timer-Funktionen am besten realisieren? Konkret brauche ich
jeweils einen Timer für

 - einen Funktionsaufruf alle 0...5 Sek., Auflösung in 0,25 Sek.
 - zur Feststellung eines Timeouts, 0...50 ms, Auflösung in 0,5 ms,
 - allg. Timingfunktionen (Funktionsaufrufe), Millisekundenbereich
 - evtl. Zeitmessung im Millisekundenbereich

Wie geht man sowas an? Zu berücksichtigen ist dabei, daß einzelne
Timingfunktionen währende der Laufzeit ab- und zuschaltbar sein
müssen.

Gruß
  Hegy
Gast #406162
Lesenswert?
• ▲
▼
Ich würde einen Timer so einstellen, dass dieser jede Millisekunde einen
Interrupt ausslöst. In der ISR werden dann irgendwelche Variablen hoch-
oder runtergezählt, mit denen man dann die anderen Zeitbasen herstellt.
Gast #406163
Lesenswert?
• ▲
▼
Am besten machst du das, indem du einen gemeinsamen Teiler suchst, denn
250 ms passen in 0,5 ms und so weiter. Dann "guckst" du in einer
Zählervariable, ob der 250-ms-Code ausgeführt werden muss und so
weiter.

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