采用原子的例程如下:
RTC_Init(); //初始化RTC
RTC_Set_WakeUp(RTC_WAKEUPCLOCK_CK_SPRE_16BITS,30); //配置WAKE UP中断,30秒钟唤醒一次
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); //进入停机模式
采用以上例程可以30秒唤醒一次!
我的问题如下:
我想每一次进入停机模式时开始计时30秒后唤醒,正常工作时停止RTC计时。
我使用以下例程时只有第一次可以唤醒,之后就再也唤醒不了。
RTC_Init(); //初始化RTC
RTC_Set_WakeUp(RTC_WAKEUPCLOCK_CK_SPRE_16BITS,30); //配置WAKE UP中断,30秒钟唤醒一次
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); //进入停机模式
__HAL_RCC_RTC_DISABLE();//RTC时钟禁止
有哪位可以告知我一下,要如何设置,在下感激不尽!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
RTC_Init(); //初始化RTC
EXTI->PR=0XFFFFF;
RTC_Set_WakeUp(RTC_WAKEUPCLOCK_CK_SPRE_16BITS,30); //配置WAKE UP中断,30秒钟唤醒一次
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); //进入停机模式
SystemInit();
__HAL_RCC_RTC_DISABLE();//RTC时钟禁止[/mw_shl_code]
一周热门 更多>