11、待机唤醒实验

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值