Forum: Mikrocontroller und Digitale Elektronik Zeit seit AVR läuft


von Sebastian Wille (Gast)


Lesenswert?

Hi,

gibt es eine Möglichkeit die Zeit auszulesen, seit dem der AVR schon 
läuft?

Ich empfange z.B. mehrere Bytes per UART und möchte wissen wieviel Zeit 
zwischen den einzelnen empfangenen Bytes vergangen ist.

Danke! :-)

Grüße,

Sebastian

von Siegfried (Gast)


Lesenswert?

Bin mir fast sicher, das es so einen Timer nicht gibt?!

Den muss man sich mit einem Timerinterrupt (z.B. 100 µS) selber bauen. 
Innerhalb der Interruptroutine zählt man dann einen 16 Bit, oder besser 
32 Bit Timer hoch.

Siegfried

von Markus (Gast)


Lesenswert?

Theoretisch ja, zumindest mit den AVR mit RTC. Einfach einen Quarz für 
den Uhrentakt ranhängen. Nach dem Einschalten läuft die Uhr. Beim 
Ausschalten gehen allerdings die Informationen verloren.
Wenn Du eine Laufzeit über alles willst mußt du tricksen. Du brauchst 
eine Spannungsausfallerkennung und einen etwas größeren Elko der den 
Controller noch für ein paar Sekunden am Leben erhält. Wenn die 
Spannungsausfallerkennung (Brown Out Detector) einen Spannungsabfall 
erkennt wird ein IRQ ausgelöst. Dann mußt du die aktuelle Zeit in das 
EEPROM schreiben. Der Elko erhält den Controller lange genug am Leben. 
Nach dem Einschalten RTC mit den Werten aus dem EEPROM initialisieren, 
fertig.

Gruß
Markus

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.