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)
5252
5353 // Request to enter STOP mode with regulator in low power mode
5454#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 ) {
6059 __HAL_RCC_PWR_CLK_ENABLE ();
61- HAL_PWREx_EnableLowPowerRunMode ();
62- HAL_PWREx_EnterSTOP2Mode ( PWR_STOPENTRY_WFI );
60+ }
61+ if ( lowPowerModeEnabled ) {
6362 HAL_PWREx_DisableLowPowerRunMode ();
63+ }
64+
65+ HAL_PWREx_EnterSTOP2Mode (PWR_STOPENTRY_WFI );
66+
67+ if (lowPowerModeEnabled ) {
68+ HAL_PWREx_EnableLowPowerRunMode ();
69+ }
70+ if (!pwrClockEnabled ) {
6471 __HAL_RCC_PWR_CLK_DISABLE ();
6572 }
6673#else /* TARGET_STM32L4 */
You can’t perform that action at this time.
0 commit comments