按键输入实验中的消抖问题

2019-08-17 08:32发布

我是新手,跟着精英开发板学习,发现按键状态扫描中,if(key_up&&(KEY0==0||KEY1==0||WK_UP==1))    {
    delay_ms(10);//去抖动   
    key_up=0;
    if(KEY0==0)return KEY0_PRES;
    else if(KEY1==0)return KEY1_PRES;
    else if(WK_UP==1)return WKUP_PRES;
  }
百思不得其解,如黑体代码所示,为什么消抖延时后,不再进行检测,直接认为按键按下了呢?求各位高手解答,谢谢了。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
stm32f103ZE
1楼-- · 2019-08-18 02:04
东山居士 发表于 2016-7-22 11:55
不好意思,编程思维不大好,只是你这语气很生硬啊。。。刚刚想明白了,忘了贴
else if(KEY_0==1&&KEY_1= ...

为什么销抖后发现按键未按下后执行外面的else if 语句,外层那个else if语句不是执行if(key_up&&按键按下)为假的时候才执行的吗,求解答
stm32f103ZE
2楼-- · 2019-08-18 02:58
 精彩回答 2  元偷偷看……

一周热门 更多>