File tree Expand file tree Collapse file tree 1 file changed +14
-7
lines changed Expand file tree Collapse file tree 1 file changed +14
-7
lines changed Original file line number Diff line number Diff line change @@ -52,15 +52,22 @@ void hal_deepsleep(void)
52
52
53
53
// Request to enter STOP mode with regulator in low power mode
54
54
#if TARGET_STM32L4
55
- if (__HAL_RCC_PWR_IS_CLK_ENABLED ()) {
56
- HAL_PWREx_EnableLowPowerRunMode ();
57
- HAL_PWREx_EnterSTOP2Mode (PWR_STOPENTRY_WFI );
58
- HAL_PWREx_DisableLowPowerRunMode ();
59
- } else {
55
+ int pwrClockEnabled = __HAL_RCC_PWR_IS_CLK_ENABLED ();
56
+ int lowPowerModeEnabled = PWR -> CR1 & PWR_CR1_LPR ;
57
+
58
+ if (!pwrClockEnabled ) {
60
59
__HAL_RCC_PWR_CLK_ENABLE ();
61
- HAL_PWREx_EnableLowPowerRunMode ();
62
- HAL_PWREx_EnterSTOP2Mode ( PWR_STOPENTRY_WFI );
60
+ }
61
+ if ( lowPowerModeEnabled ) {
63
62
HAL_PWREx_DisableLowPowerRunMode ();
63
+ }
64
+
65
+ HAL_PWREx_EnterSTOP2Mode (PWR_STOPENTRY_WFI );
66
+
67
+ if (lowPowerModeEnabled ) {
68
+ HAL_PWREx_EnableLowPowerRunMode ();
69
+ }
70
+ if (!pwrClockEnabled ) {
64
71
__HAL_RCC_PWR_CLK_DISABLE ();
65
72
}
66
73
#else /* TARGET_STM32L4 */
You can’t perform that action at this time.
0 commit comments