本帖最后由 学习stm32f4 于 2018-9-5 11:11 编辑
在探索者的待机唤醒实验里,Sys_Enter_Standby()函数有几行是与RTC相关的,对于本实验,这几行不需要添加,因为实验中,退出待机模式是通过WKUP引脚实现的。
若退出待机模式是通过RTC相关事件(例如闹钟、唤醒、入侵、时间戳等)实现的,那么就需要按照步骤,在进入待机模式之前进行设置。
[mw_shl_code=c,true]
void Sys_Enter_Standby(void)
{ //无RTC相关的操作
while(WKUP_KD); //等待WK_UP按键松开(在有RTC中断时,必须等WK_UP松开再进入待机)
RCC_AHB1PeriphResetCmd(0X04FF,ENABLE);//复位所有IO口
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);//使能PWR时钟
PWR_ClearFlag(PWR_FLAG_WU);//清除Wake-up 标志
PWR_WakeUpPinCmd(ENABLE);//设置WKUP用于唤醒
PWR_EnterSTANDBYMode(); //进入待机模式
}
[/mw_shl_code]
一周热门 更多>