按键中断,然后进行状态查询。
当按下了产生中断,置个标志,然后在设定的计时到了,再去查询一次状态,若还是按下状态,则就去执行相应逻辑。
首先,人家提供的是参考示例。与咱们在工作或者项目里使用时有一定的差距。
建议参考二楼的回答,使用状态机的机制。
输入干扰的原因就是由于太快了,那么只好是等了。所以 还是要用延时,
不过,你可以记录一定时间内按下的次数来确定
对,使用阻塞式延时程序来校抖的方法很low,白白牺牲效率。
1.最常用的方式就是使用定时器中断,比如每10ms一个中断,进入中断函数查询按键。
2.然后还可以使用ucos、RTX等嵌入式实时系统,编写一个按键任务,从按键任务的角度看自己是阻塞的,但是系统会进行任务调度。