sschultewolter:
Warum berechnest du das nicht einfach selber?
Weil es ja schon da ist
So geht es mit der von mir verwendeten Lib:
//get total sec (tsec) since 1970 from rtc
time_t tsec;
tsec = RTC.get();
Serial.print(F("tsec: "));
Serial.print(tsec);
Serial.println();
//***
Serenifly:
In der Time Lib ist time_t immer die Sekunden seit 1970
Danke, das scheint hier auch so zu funktionieren.
sschultewolter:
Wenn aktJahr > 1972 =>((aktJahr-1972) / 4)+1)
Ansonsten 0
Schöne, kurze Formel, Danke, auch wenn ich sie jetzt gar nicht nutze.
sima6201:
Ich habe diesen Cod zum Zeiteinstellen benutzt
Danke, aber einstellen geht auch schon sehr schön. Wollte nur die voranschreitenden unsigned long Sekunden haben um damit meinen Task-Scheduler zu "füttern".
An der Stelle möchte ich noch kurz erwähnen, dass ich gerne Tasks nicht nur im Sek, sondern auch im ms Bereich Steuern möchte. Hierfür Synchronisieren ich alle paar Sekunden mit dem Sekunden-getriggerten Rechtecksignal der RTC (prinzipiell):
//synchrone ms erhalten
unsigned int get_ms(){
return ((millis() - _ms_last_rtc) % 1000); // return syncron ms (0-999)
}
//ms von zeit zu zeit mit Arduino Interrupt synchronisieren
//ISR zum Sekunden-getriggertes Rechtecksignal der RTC
void ISR_RTC(){
_ms_last_rtc = millis(); // save now, for _ms sync with RTC
}
Ist am Ende nicht ganz einfach da immer 2 Variablem im Task Scheduler abgefragt werden müssen und weil mein Arduino je Sek ca. 1-2ms zu langsam ist, heißt es kommt fast nie die ms=998 und 999 vor.
Vielleicht hat da ja jemand einen Tip/ Idee wie man es machen könnte oder jemand schon eleganter/besser gemacht hat.
Vielen Dank!