GD32F305中断按键消抖该怎么去写?

[复制链接]
10582|10
 楼主| 注孤终 发表于 2021-8-3 10:22 | 显示全部楼层 |阅读模式
GD32F305中断按键消抖该怎么去写,卡住了,写的怎么都不能运行
 楼主| 注孤终 发表于 2021-8-3 10:58 | 显示全部楼层

GD32F305中断按键消抖该怎么去写?

有点太高深了,理解不来
chunyang 发表于 2021-8-3 14:00 | 显示全部楼层
两次查询,中间间隔50mS即可。
linxi6414 发表于 2021-8-3 14:56 | 显示全部楼层
这么高级的芯片没有玩过,平时都是用的51,方法是定时器计数,当检测到一个按键连续10次为0时表示按键确定按下,输出一个按键有效状态位,在为0的期间,有一次为1则表示按键无效。从来不用Delay,这样的方式缕试缕爽。
 楼主| 注孤终 发表于 2021-8-3 16:12 | 显示全部楼层
因为用的是外部中断,所以不好用延时或扫描,不管搜到外部中断之间用边沿触发就行,已解决
coody 发表于 2021-8-4 11:32 | 显示全部楼层
按键,这种超慢的时间,为什么要用中断???我都是在某个时隙里扫描按键,比如32ms时隙。
畅想天子 发表于 2021-8-4 16:49 | 显示全部楼层
按键上并接一个电容
 楼主| 注孤终 发表于 2021-8-5 11:04 | 显示全部楼层
这买的开发板他不带硬件消抖
天意无罪 发表于 2021-8-6 12:32 | 显示全部楼层
就是软件滤波,第一次检测到按键按下时,开始计时,计时时间根据需要设置,如:20ms,50ms等等,时间越小越灵敏。计时到后,再次检测按键是否按下,若是,才认为是有效按键动作。
linguanghua 发表于 2021-8-9 16:48 | 显示全部楼层

GD32F305中断按键消抖该怎么去写?

不要用中断,用20ms周期性轮询。连续两次算正确按下。
luhailiang 发表于 2021-8-10 17:57 | 显示全部楼层
做个状态机就行,还能支持长按,双击等。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

70

帖子

0

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