[STM32F0] 外部中断老是抖动触发,有没有简单点的办法

[复制链接]
690|14
 楼主| Pulitzer 发表于 2025-6-4 07:21 | 显示全部楼层 |阅读模式
用了EXTI做按键中断,每次按一下都会跳好几次中断,不想用延迟去抖,想找个更稳的法子。
Clyde011 发表于 2025-6-4 07:25 | 显示全部楼层
如果按钮接地,外部干扰多。
公羊子丹 发表于 2025-6-4 07:25 | 显示全部楼层
用 GPIO 口做轮询+滤波吧。
周半梅 发表于 2025-6-4 07:26 | 显示全部楼层
HAL里没防抖,要自己加。
帛灿灿 发表于 2025-6-4 07:27 | 显示全部楼层
可以考虑用EXti + timer软延迟。
童雨竹 发表于 2025-6-4 07:28 | 显示全部楼层
我的做法是每次中断里关一次中断。
万图 发表于 2025-6-4 07:29 | 显示全部楼层
输入管脚是不是浮空?
Wordsworth 发表于 2025-6-4 07:30 | 显示全部楼层
试试设置GPIO为带上拉输入。
Bblythe 发表于 2025-6-4 07:31 | 显示全部楼层
触发方式用下降沿还是双沿?
 楼主| Pulitzer 发表于 2025-6-4 07:32 | 显示全部楼层
软件里加个状态机更保险。
Uriah 发表于 2025-6-4 07:34 | 显示全部楼层
简单粗暴:中断里delay几ms。
yzdel7 发表于 2025-6-5 22:08 来自手机 | 显示全部楼层
用定时器,比如50ms检查一次按键状态,定义一个变量计数,连续几个50ms都检测到按下状态时,再判断按键有效。
codingtuzi 发表于 2025-6-5 22:35 | 显示全部楼层
外部添加适当的电容稳定一下输入波形。
软件内部的触发逻辑做一下归一化处理。
yzdel7 发表于 2025-6-7 18:35 来自手机 | 显示全部楼层
最简单的办法就是在中断里计数,比如计够几次以后再判断按键有效。
weifeng90 发表于 2025-6-7 19:21 来自手机 | 显示全部楼层
软件做一下滤波处理,把抖动信号滤除。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

159

主题

6055

帖子

0

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