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

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条回答
憨厚诚实大叔
1楼-- · 2019-08-17 12:53
后面那么多if语句给你吃了么
憨厚诚实大叔
2楼-- · 2019-08-17 15:16
楼主去百度看看位带操作吧
东山居士
3楼-- · 2019-08-17 19:56
 精彩回答 2  元偷偷看……
憨厚诚实大叔
4楼-- · 2019-08-17 23:28
东山居士 发表于 2016-7-22 11:55
不好意思,编程思维不大好,只是你这语气很生硬啊。。。刚刚想明白了,忘了贴
else if(KEY_0==1&&KEY_1= ...

原子哥的按键代码我一直没看,不是很清楚里面的逻辑。直接加延时学习用用还行,真正写的时候是不推荐直接加延时的
东山居士
5楼-- · 2019-08-18 00:07
憨厚诚实大叔 发表于 2016-7-22 12:37
原子哥的按键代码我一直没看,不是很清楚里面的逻辑。直接加延时学习用用还行,真正写的时候是不推荐直接 ...

哈哈,刚刚问了问技术类的朋友,他也说这个学习时还行,真正用好像不常见~就这样吧~
Guosir
6楼-- · 2019-08-18 01:10
多研究研究  原子哥的代码真是好

一周热门 更多>