Ist gar nicht nötig, es genügt ein Timer welcher durch läuft.
Unter Unix wurde als Zeit die Sekunden seit dem 1.1.1970 eingeführt. Dies benötigt eine 23-Bit Variable, welche jede Sekunde um 1 erhöht wird. Das reicht dann für etwa 138 Jahre ab dem 1.1.1970. Dafür gibt es in C schon fertige Funktionen, ist aber gar nicht so aufwändig, man muss nur wissen wie man die Schaltjahre richtig berechnet.
Je nach Anforderung kann das Intervall auch etwas anderes als 1s sein.
BTW: In den meisten meiner Geräte ist seit Mitte der 80er Jahre so ein Timer versteckt. Meist zeigt er dann nur die Zeit seit dem letzten Einschalten an, kann aber über Service-Funktionen abgerufen werden. Entstanden ist der Timer immer als erster Gehversuch mit den Timern und dem Interrupt-Controller auf einem neuen µC.
Dieser Timer hat sich dann oft als nützlich bei der Entwicklung erwiesen. Man kann erkennen, wenn irgendwie ein unplanmässiger Reset auftritt und wenn der Timer sehr nach geht, werden die Interrupts irgendwo zu lange blockiert.
MfG Peter(TOO)
Lesezeichen