按键消抖总是处理不好?
是定时器周期选得太短?还是状态机设计不合理?G4系列性能好,跑状态机绰绰有余。 每次触发后拉高一个锁定时间就好。 软件消抖时间设得太短了? CubeMX生成的GPIO设置你改过吗? 用外部中断+延迟采样比较稳。 有些按键带机械回弹,物理消抖也要考虑。 我用一个数组保存状态滑动窗口判断。 你是不是用while轮询?容易抖。 G431的中断响应够快,自己做消抖效果好。 我都用定时器+状态机处理。 在STM32G4中按键消抖处理不好,可能由定时器周期设置、状态机设计等多方面因素导致。 一般机械按键的抖动时间在5 - 20ms,定时器周期可设置为10ms左右。例如,可以使用STM32G4的SysTick定时器,每10ms产生一次中断,在中断服务函数中进行按键状态检测。 按键本身质量不佳、按键与单片机之间的连接线路存在干扰等,都可能导致按键信号不稳定,影响消抖效果。
页:
[1]