@@ -60,8 +60,11 @@ void LowPower_init()
60
60
/* Enable Power Clock */
61
61
__HAL_RCC_PWR_CLK_ENABLE ();
62
62
#endif
63
+
64
+ #if defined(PWR_CR_DBP ) || defined(PWR_CR1_DBP ) || defined(PWR_DBPR_DBP )
63
65
/* Allow access to Backup domain */
64
66
HAL_PWR_EnableBkUpAccess ();
67
+ #endif
65
68
66
69
#ifdef __HAL_RCC_WAKEUPSTOP_CLK_CONFIG
67
70
/* Ensure that HSI is wake-up system clock */
@@ -385,7 +388,8 @@ void SystemClock_Decrease(void)
385
388
void LowPower_sleep (uint32_t regulator )
386
389
{
387
390
388
- #if defined(PWR_CSR_REGLPF ) || defined(PWR_SR2_REGLPF )
391
+ #if defined(PWR_LOWPOWERREGULATOR_ON ) && \
392
+ (defined(PWR_CSR_REGLPF ) || defined(PWR_SR2_REGLPF ))
389
393
// When LowPower regulator sleep mode is used, it is necessary to decrease CPU Frequency
390
394
if (regulator == PWR_LOWPOWERREGULATOR_ON ) {
391
395
SystemClock_Decrease ();
@@ -402,7 +406,8 @@ void LowPower_sleep(uint32_t regulator)
402
406
/* Enter Sleep Mode , wake up is done once User push-button is pressed */
403
407
HAL_PWR_EnterSLEEPMode (regulator , PWR_SLEEPENTRY_WFI );
404
408
405
- #if defined(PWR_CSR_REGLPF ) || defined(PWR_SR2_REGLPF )
409
+ #if defined(PWR_LOWPOWERREGULATOR_ON ) && \
410
+ (defined(PWR_CSR_REGLPF ) || defined(PWR_SR2_REGLPF ))
406
411
// In case of LowPower Regulator used for sleep, restore Main regulator on exit
407
412
if (regulator == PWR_LOWPOWERREGULATOR_ON ) {
408
413
#if defined(__HAL_RCC_PWR_CLK_ENABLE )
@@ -492,7 +497,11 @@ void LowPower_stop(serial_t *obj)
492
497
} else
493
498
#endif
494
499
{
500
+ #if defined(PWR_LOWPOWERREGULATOR_ON )
495
501
HAL_PWR_EnterSTOPMode (PWR_LOWPOWERREGULATOR_ON , PWR_STOPENTRY_WFI );
502
+ #else
503
+ HAL_PWR_EnterSTOPMode (PWR_MAINREGULATOR_ON , PWR_STOPENTRY_WFI );
504
+ #endif
496
505
}
497
506
498
507
/* Exit Stop mode reset clocks */
0 commit comments