待机唤醒实验的1点疑问

2019-07-20 10:37发布

本帖最后由 Gene 于 2017-12-5 11:38 编辑

    函数void Sys_Enter_Standby(void)的第一行代码:
    while(WKUP_KD); //等待WK_UP按键松开(在有RTC中断时,必须等WK_UP松开再进入待机)
       PA0管脚配置为下拉输入, 按键WK_UP按键按下之后是高电平,松开之后是低电平。    为什么代码里判断是否松开还是等待WKUP_KD为高电平?



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
操作系统
1楼-- · 2019-07-20 15:37
这里的WKUP_KD  的意思是 唤醒按键按下状态,wake up key down ,
代码的意思是等待按键松开的意思..WKUP_KD的宏贴出来就清楚了.
实际上没有必要..按键松开不会唤醒待机状态的单片机.
Gene
2楼-- · 2019-07-20 19:24
操作系统 发表于 2017-12-5 12:21
这里的WKUP_KD  的意思是 唤醒按键按下状态,wake up key down ,
代码的意思是等待按键松开的意思..WKUP_KD ...

#define WKUP_KD PAin(0)  //PA0 检测是否外部WK_UP按键按下
WKUP_KD是按键的状态,按下就是高电平,释放之后是低电平
按下之后就会产生上升沿并唤醒待机模式
操作系统
3楼-- · 2019-07-20 22:09
 精彩回答 2  元偷偷看……
Gene
4楼-- · 2019-07-20 23:57
操作系统 发表于 2017-12-5 18:04
在这里.  while(WKUP_KD);
等效于  while( WKUP_KD != 0);
也就是 高电平死机.低电平恢复正常.

明白,非常感谢!

一周热门 更多>