11、待机唤醒实验

来源:互联网 发布:加密软件破解 编辑:程序博客网 时间:2024/05/01 09:40

1、这个章节主要讲述了如何配置STM32功耗最低的待机模式,且以wk_up的上升沿作为它的唤醒方式。

2、如果是正常运行,先执行中断程序。 如果是待机状态,则先复位并初始化。

     程序的主要流程是初始化到WKUP_Init()函数,在之内的死循环中等待按键按下的消息到来,只有这样,程序才可以执行下去到点亮LCD。如果没有按键按下程序就一直处于

      待机的状态。(因为在WKUP_Init()初始化中有这样一句语句:if(Check_WKUP()==0) Sys_Standby();    //不是开机,进入待机模式 ,如果调用了Check_WKUP()函数,则这

     个函数一直都在 判断该按键的状态。如果没有按键按下,则直接进入到到待机模式。当捕捉到按键按下时,就会对液晶进行初始化并显示基本信息。)

     当进入到正常的开机状态时,则由wk_up上升沿引起中断,进入到待机模式:if(Check_WKUP())//关机  Sys_Enter_Standby();  

3、读取按键状态函数,它在整个的函数执行过程中都在执行,不断的返回0或1,在今后的学习中可以使用。

//检测WKUP脚的信号

//返回值1:连续按下3s以上
//      0:错误的触发
u8 Check_WKUP(void) 
{
u8 t=0; //记录按下的时间
LED0=0; //亮灯DS0 
while(1)
{
if(WKUP_KD)
{
t++; //已经按下了 
delay_ms(30);
if(t>=100) //按下超过3秒钟
{
LED0=0; //点亮DS0 
return 1; //按下3s以上了
}
}else 

LED0=1;
return 0; //按下不足3秒
}
}
}  

0 0
原创粉丝点击