Forum: Mikrocontroller und Digitale Elektronik [STM32F1] RTC Flags nach dem Power-Down


von Mampf F. (mampf) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo Forum :)

wieder mal ein RTC-Problem ... mühsam nährt sich das Eichhörnchen ... 
Aber langsam krieg ich das Ding in den Griff ... Einzig eine Kleinigkeit 
irritiert mich noch sehr.

Ich verwende die STM32F103-interne RTC mit programmiertem Alarm.

Tritt der RTC-Alarm auf, wird an PC13 ein Impulse rausgegeben, der dann 
den Hauptspannungswandler und damit die Haupt-Stromversorgung für den 
STM32 aktiviert.

Ich hab verschiedene Möglichkeiten, wie der STM32 zum Leben erwachen 
kann ...

- USB-Power
- Druck auf einen Taster
- RTC-Alarm
(- Selbsthaltung)

Soweit geht das gut ...

Ich würde nun gerne feststellen, ob der RTC-Alarm zugeschlagen hat.

Hierzu hätte ich folgendes versucht:
1
if (RTC_GetFlagStatus(RTC_FLAG_ALR) == SET) 
2
{
3
  RTC_ClearFlag(RTC_FLAG_ALR);
4
  while (RTC_GetFlagStatus(RTC_FLAG_ALR) == SET)
5
    ;
6
  // per RTC-Alarm aufgeweckt
7
}

Das Flag wird scheinbar nur gesetzt, wenn der µC nicht im Power-Down 
war.

Im Manual heißt es - winzig mit ein paar Wörtern, wie alle wichtigen 
Dinge, die uns das Datenblatt vorenthalten will - "ALRF not powered in 
Standby". (siehe Bild im Anhang)

Also das Flag kann man dann wohl nicht verwenden ...

Eine andere Idee wäre gewesen, die Alarm-Register von der RTC 
zurückzulesen ... Die sind aber nur write-only.

Muss ich wirklich wertvolle Backup-Domain-Register opfern, um den 
RTC-Alarm-Wert über den Standby hinweg zu sichern?

Oder hab ich irgendwas übersehen und es ist eigentlich ganz einfach?

Viele Grüße,
Mampf

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.