Ich möchte gerne mit der Echtzeituhr DS3231 einen Zähler schalten lassen. Dieser soll immer um eine bestimmte Uhrzeit um 1 erhöht werden z.B. 23:59:59 Uhr und dient als Tage zähler
Dieser Zähler soll mir dann den Jahresdurchschnitt mitteilen
Durchschnitt = Packete / Tage
Kann mir jemand einen Tipp geben wie man das Programmiert. Mein Programm jetzt rechnet das nicht aus wenn es um einen Tag erhöht wird
Bedenke bitte, daß während einer Sekunde ganz viele Durchläufe von loop erfolgen. Du brauchst also noch einen Vergleich der alten mit der neuen Sekunde. Nur wenn beide gleich sind, zählst Du einen rauf.
Bei langen Zeiträumen macht es u.U. Sinn den Startzeitpunkt im EEPROM zu speichern.
Das inkremenieren eines Tageszählers hat den Nachteil, dass eben dieser bei einem (WDT)Reset/Stromausfall oder öffnen der seriellen Konsole verloren geht.
Was soll eigentlich wie pro Tag gezählt werden?
Wie lange sollen die Tageswerte vorgehalten werden bzw. soll nur immer der kummulierte Zähler/Tage ausgegeben werden?
Wie langzeitstabil/ausfallsicher sollen die Werte sein?
Soll das irgendwann mal wieder genullt werden?
Dann eben EEPROM oder bei jeden Zählimpuls eher FRAM.