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