Skip to content

Commit e11b7d1

Browse files
ABOSTMfpistm
authored andcommitted
fix: clear Wakeup Flag before entering Standby or Shutdown mode
Fixes #79 Signed-off-by: Alexandre Bourdiol <[email protected]>
1 parent 1a17d41 commit e11b7d1

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/low_power.c

+19
Original file line numberDiff line numberDiff line change
@@ -508,6 +508,15 @@ void LowPower_standby()
508508
{
509509
__disable_irq();
510510

511+
/* Clear wakeup flags */
512+
#if defined(PWR_FLAG_WU)
513+
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);
514+
#elif defined(PWR_CPUCR_CSSF)
515+
__HAL_PWR_CLEAR_FLAG(PWR_CPUCR_CSSF);
516+
#elif defined(PWR_MPUCR_CSSF)
517+
__HAL_PWR_CLEAR_FLAG(PWR_MPUCR_CSSF);
518+
#endif
519+
511520
#if defined(PWR_CR_ULP)
512521
/* Enable Ultra low power mode */
513522
HAL_PWREx_EnableUltraLowPower();
@@ -529,6 +538,16 @@ void LowPower_standby()
529538
void LowPower_shutdown()
530539
{
531540
__disable_irq();
541+
542+
/* Clear wakeup flags */
543+
#if defined(PWR_FLAG_WU)
544+
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);
545+
#elif defined(PWR_CPUCR_CSSF)
546+
__HAL_PWR_CLEAR_FLAG(PWR_CPUCR_CSSF);
547+
#elif defined(PWR_MPUCR_CSSF)
548+
__HAL_PWR_CLEAR_FLAG(PWR_MPUCR_CSSF);
549+
#endif
550+
532551
#if defined(PWR_CR1_LPMS)
533552
/* LSE must be on to use shutdown mode */
534553
if (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == SET) {

0 commit comments

Comments
 (0)