STM32L151 使用cube配置RTC 睡眠唤醒闹钟-直接赋值中断方式
1、cube配置
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