[程序源码] 采用三次检测按键的按键消抖

[复制链接]
1556|4
 楼主| 不确定性理论 发表于 2014-11-3 15:37 | 显示全部楼层 |阅读模式
我在阅读源代码时,发现别人用的是采用三次检测判断按键值的方法。而不是用延迟10ms的方式。
这种方法更好么?
延迟10ms的函数可以用定时器中断来写么?
另外问一句,atmel studio中的_delay_ms()函数是CPU忙等待的延迟方式还是定时器延迟方式?
coody 发表于 2014-11-3 15:41 | 显示全部楼层
我的程序中基本不会频繁的用delay,按键是每隔32ms或16ms读一次,3次判断相等有效是常用的。
coody 发表于 2014-11-3 15:42 | 显示全部楼层
比如,16ms读一次按键,处理时间是8us,则按键检测程序消耗CPU时间为0.05%
ayb_ice 发表于 2014-11-3 15:52 | 显示全部楼层
N次都可以,

N次都相同,N次都有按键按下,按键输出一次

这样更可靠,N次读按键也是定时去读的,与延时效果一样,方法不同而已,这样可以释放CPU时间,效率高
ZG11211 发表于 2014-11-3 19:55 | 显示全部楼层
和楼上的想法高度一致。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部