STM32L151 使用cube配置RTC 睡眠唤醒闹钟-直接赋值中断方式

1、cube配置

STM32L151 使用cube配置RTC 睡眠唤醒闹钟-直接赋值中断方式

STM32L151 使用cube配置RTC 睡眠唤醒闹钟-直接赋值中断方式

 

2、进入睡眠模式

              //睡眠:10s,       单位接近秒,但是并不是秒需要自己算,小编还没来得及算;

             HAL_RTCEx_SetWakeUpTimer_IT(&hrtc, 10, RTC_WAKEUPCLOCK_CK_SPRE_16BITS);
                
                __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG();    //clear flag
                __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);                //clear Power wakeup flag
                
                HAL_PWREx_EnableUltraLowPower();
                HAL_PWREx_EnableFastWakeUp();
                
                HAL_SuspendTick();
                HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON,PWR_SLEEPENTRY_WFI);    //all interrupt 
                HAL_ResumeTick();                
                
                LowPowerResumeConfig();
                
                __HAL_RTC_WAKEUPTIMER_EXTI_DISABLE_IT();    //disable wakeup timer
                __HAL_RTC_WAKEUPTIMER_EXTI_CLEAR_FLAG();    //clear flag
                __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);                //clear Power wakeup flag