Forum: Mikrocontroller und Digitale Elektronik Mehrfachverwendung v. Timer (AVR)


von Hegy (Gast)


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

von Aufreger deluxe (Gast)


Lesenswert?

Na das ist ganz klar eine Aufgabe für Peter Dannegger.

von inoffizieller WM-Rahul (Gast)


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.

von Nico Schümann (Gast)


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.

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.