Gast
#6808094
Hallo zusammen, ich drehe mich seit Wochen im Kreis und hoffe, dass ihr den Fehler mit frischen Augen sieht oder ev. Nachstellen könnt. Ich muss in einem Projekt beim Aufwachen des MCU aus dem StandBy zwischen Alarm, Drucken auf Reset Button und erstem Einschalten des Gerätes unterscheiden. Je nach dem läuft eine leicht veränderte Initialisation Routine. Beim Reset sollten die nachträglich geänderten Einstellungen nicht in den Ursprungszustand gesetzt werden, sondern werden über die serielle Schnittstelle angepasst. Danach geht das Ganze wieder in den StandBy-Betrieb. Das Board ist ein HW-848 mit einem STM32F401CC MCU aus China und soll mit 2 AA Batterien betrieben werden. Das ganze läuft einwandfrei bis die Betriebsspannung bis auf ca. 2.7V sinkt.? Ab dann werden SBF & WUF nicht mehr gesetzt oder ev. beim Aufwachen wieder zurückgesetzt. Da bin ich mir nicht sicher. Beim ALARMAF läuft auch in dem Fall alles einwandfrei. Die Alarm-Routine wird richtig abgearbeitet. Die Zustände beim Start/Aufwachen im Normal-Betrieb sind in der Tabelle dargestellt. SBF WUF Power On OFF OFF Alarm ON ON Reset ON OFF Ab 2.7V runter sind die alle immer OFF. Es schein so zu sein, dass PDR durchgeführt wird: SBF: Standby flag The SBF status flag in PWR_CR (see Section 5.4.2: PWR power control/status register (PWR_CSR)) indicates that the MCU was in Standby mode. This bit is set by hardware and cleared only by a POR/PDR (power-on reset/power-down reset) or by setting the CSBF bit in the PWR_CR register Aber warum? Der Grenzwert ist doch bei weitem nicht erreicht. Symbol Parameter Conditions Min Typ Max Unit Vpor/pdr Power-on/power-down Falling edge 1.60 1.68 1.76 V reset threshold Rising edge 1.64 1.72 1.80 Zum Testen habe ich ein kleines Sketch geschrieben. Das Programm wird weitgehend von CubeIDE erstellt. Es wird nur LSE, der Kalender mit Alarm-A eingerichtet. Der Alarm erfolgt ein Mal pro Minute. Über LED kann ich die Zustände der Flags beim Start/Reset/Aufwachen ermitteln. Das von mir geänderte Teil sieht wie folgt aus:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
Ich habe den Sketch auch mit Nucleo F411RE & G071RB getestet. Bei Beiden gibt es das Problem nicht. Die funktionieren bis auf 2V einwandfrei. Ein zweites Board mit STM32F401CC verhält sich gleich. Mit RCC-Flags konnte ich leider die Zustände beim Start auch nicht zwischen Power-On & Reset unterscheiden. BOR ist ausgeschaltet. In dem Fall dürfte allerdings MCU ja auch gar nicht mehr starten. Tut es aber zuverlässig bis auf unter 2V.

