打印
[STM32G4]

按键消抖总是处理不好?

[复制链接]
302|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Clyde011|  楼主 | 2025-5-8 07:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
是定时器周期选得太短?还是状态机设计不合理?

使用特权

评论回复
沙发
Clyde011|  楼主 | 2025-5-8 07:40 | 只看该作者
G4系列性能好,跑状态机绰绰有余。

使用特权

评论回复
板凳
Uriah| | 2025-5-8 07:41 | 只看该作者
每次触发后拉高一个锁定时间就好。

使用特权

评论回复
地板
Pulitzer| | 2025-5-8 07:42 | 只看该作者
软件消抖时间设得太短了?

使用特权

评论回复
5
Bblythe| | 2025-5-8 07:43 | 只看该作者
CubeMX生成的GPIO设置你改过吗?

使用特权

评论回复
6
Wordsworth| | 2025-5-8 07:43 | 只看该作者
用外部中断+延迟采样比较稳。

使用特权

评论回复
7
万图| | 2025-5-8 07:44 | 只看该作者
有些按键带机械回弹,物理消抖也要考虑。

使用特权

评论回复
8
童雨竹| | 2025-5-8 07:45 | 只看该作者
我用一个数组保存状态滑动窗口判断。

使用特权

评论回复
9
帛灿灿| | 2025-5-8 07:46 | 只看该作者
你是不是用while轮询?容易抖。

使用特权

评论回复
10
周半梅| | 2025-5-8 07:47 | 只看该作者
G431的中断响应够快,自己做消抖效果好。

使用特权

评论回复
11
公羊子丹| | 2025-5-8 07:47 | 只看该作者
我都用定时器+状态机处理。

使用特权

评论回复
12
stormwind123| | 2025-5-8 16:22 | 只看该作者
在STM32G4中按键消抖处理不好,可能由定时器周期设置、状态机设计等多方面因素导致。

使用特权

评论回复
13
stormwind123| | 2025-5-8 16:23 | 只看该作者
一般机械按键的抖动时间在5 - 20ms,定时器周期可设置为10ms左右。例如,可以使用STM32G4的SysTick定时器,每10ms产生一次中断,在中断服务函数中进行按键状态检测。

使用特权

评论回复
14
flycamelaaa| | 2025-5-8 16:24 | 只看该作者
按键本身质量不佳、按键与单片机之间的连接线路存在干扰等,都可能导致按键信号不稳定,影响消抖效果。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

73

主题

4604

帖子

0

粉丝