Forum: Mikrocontroller und Digitale Elektronik [STM32F1] RTC Backup, Datum geht verloren


von Mampf F. (mampf) Benutzerseite


Lesenswert?

Guten Morgen :)

ich hab einen STM32F103C8T und ein Problem mit der RTC.

Das Board ist derzeit dauer-bestromt (VBat ist aber auch angeschlossen) 
und nach einem Reset bleibt die eingestellte Zeit erhalten, aber das 
Datum geht verloren.

Das Datum scheint aber prinzipiell zu funktionieren, da ich einen 
Datumswechsel von 23:59:59 auf 00:00:00 nachvollziehen konnte.

Es gibt von ST PDFs, in denen der RTC erklärt wird, aber so richtig wird 
mir nicht klar, weshalb die Zeit erhalten bleibt, das Datum aber 
verloren geht.

- Muss man das Datum selbst in eines der Backup-Register schreiben, 
damit man nach einem Reset oder Stromausfall es zurücklesen kann?

- Ich meine gelesen zu haben, dass die RTC weiterläuft, wenn am VBat-Pin 
eine Backup-Spannung angeschlossen ist. Da frage ich mich dann, was ist 
mit dem Datum? Das scheint ja irgendwie verloren zu gehen ...

- Wieso bleibt die Zeit erhalten, das Datum geht aber verloren?

Habt ihr dazu Ideen?

*edit*: Ach jetzt hab ich es gecheckt! Das ist ja verrückt ... Es gibt 
beim STM32F1 garkeinen Hardware-Kalender ...

Zu Frage 1: Ja, man muss das Datum selbst in das Backup-Register 
schreiben

Zu Frage 2: Die RTC läuft weiter ... Die effektiven Stunden können dabei 
>24 werden, daran erkennt man, wieviele Tage vergangen sind, um das 
Datum per Hand richtig aktualisieren zu können.

Zu Frage 3: Weil es keine Hardware-Datums-Funktion gibt.

D.h. Bei der RTC-Initialisierung liest man das Datum aus den 
Backup-Registern und ruft - falls man HAL verwendet - simpel ein 
HAL_RTCSetDate auf, dann aktualisiert sich das von selbst.


Ok, Die Fragen sind geklärt! :)




Vielen Dank!
Mampf

Beitrag #4948286 wurde von einem Moderator gelöscht.
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.