按键输入检测防干扰问题

2019-08-23 15:30发布

求大神分享好用的抗干扰方法
下面是我自己的抗干扰
①:用延时 if(检测到输入)
                { delay();
                   if(检测到输入)  //多次检测
                 }
这样虽然可以抗干扰和防抖动,但用延时会占用系统时间,如果输入比较多,会影响进程;
②:设个变量
                      if(检测到输入)               
        {
                if(jiance < 30)
                        jiance++;
                else
                {

                }
        }
这样虽然不占用时间,但如果干扰比较多,jiance变量会一直增加,还是会出现干扰。

请各位朋友分享下你们的方法
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
luobin189
1楼-- · 2019-08-23 17:59
 精彩回答 2  元偷偷看……
来俩不甜的
2楼-- · 2019-08-23 22:39
干扰只有在按键按下的时候才会发生,所以间隔20ms查询一次就好了。就别去考虑干扰了
ch5802543
3楼-- · 2019-08-24 01:34
yklstudent 发表于 2017-3-30 12:41
f(检测到输入)               
        {
                if(jiance < 30)

这个好像不错
ch5802543
4楼-- · 2019-08-24 03:12
luobin189 发表于 2017-3-30 12:21
用状态机写,放到定时器里跑。坛里有的,自己搜下。

明白你的意思了,延时扫描用定时器也不会占用系统时间。可以