不一样的按键延时思想

2020-01-25 15:29发布

最近在学习嵌入式的驱动程序,在编写按键程序时,具体思路是这样的,利用外部中断读取按键按下,在中断服务程序里面实现开启定时器,并且初始化它,当定时器到达10毫秒后按键值有效。这里技巧不管你抖动多少次,都不会立即让键值有效,必须在最后一个进入中断服务程序的都抖动延时了10毫秒才有效,这中思路与传统思路不同!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
tim
1楼-- · 2020-01-25 16:13
有自己丝路就好
68336016
2楼-- · 2020-01-25 17:16
 精彩回答 2  元偷偷看……
binaimei2007
3楼-- · 2020-01-25 17:25
和delay延时消抖原理一致,但超越了传统延时消抖,现在不占CPU了,楼主加油
要注意的是在外部中断触发第一次后要关闭外部中断,不然抖动还会触发外部中断,定时器一直被初始化。
cmheia
4楼-- · 2020-01-25 22:38
没看出哪不一样。建议看看nxp网站上DR1159里面那段按键代码
lusson
5楼-- · 2020-01-25 23:03
如果一般的按键,不太建议使用中断。
一般的按键使用查询即可。
sco518
6楼-- · 2020-01-26 02:52
说实话我觉得这样的意义不大。。

你完全可以定一个10ms的定时器中断,每10ms检测一次按键,如果有按键按下,那标志位置位,下次检测时如果还是按下的,那么就可以确认是按键按下了。如果连续检测到按下,还能定一个次数将其标志为长按。

我记得傻孩子有一篇专门讲按键思路的,楼主可以搜一下。

一周热门 更多>