初级会员

- 积分
- 78
- 金钱
- 78
- 注册时间
- 2020-9-27
- 在线时间
- 23 小时
|
1金钱
//系统进入待机模式
void Sys_Enter_Standby(void)
{
while(WKUP_KD); //等待WK_UP按键松开(在有RTC中断时,必须等WK_UP松开再进入待机)
RCC_AHB1PeriphResetCmd(0X04FF,ENABLE);//复位所有IO口
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);//使能PWR时钟
PWR_BackupAccessCmd(ENABLE);//后备区域访问使能
//这里我们就直接关闭相关RTC中断
RTC_ITConfig(RTC_IT_TS|RTC_IT_WUT|RTC_IT_ALRB|RTC_IT_ALRA,DISABLE);//关闭RTC相关中断,可能在RTC实验打开了。
RTC_ClearITPendingBit(RTC_IT_TS|RTC_IT_WUT|RTC_IT_ALRB|RTC_IT_ALRA);//清楚RTC相关中断标志位。
PWR_ClearFlag(PWR_FLAG_WU);//清除Wake-up 标志 我把这一句注释后把程序烧进板子,在唤醒之后再次按三秒WAKEUR后,LCD熄灭 DS0还亮 经检测并没有进入待机状态 求问:注释掉这句之后没有进入待机模式,为什么LCD屏幕会熄灭???????
PWR_WakeUpPinCmd(ENABLE);//设置WKUP用于唤醒
PWR_EnterSTANDBYMode(); //进入待机模式
}
|
|