按键消抖,最有效的方法就是延迟时间了,不增加元件成本,不增加PCB成本的情况下
如果说别的方法,就是加一个电容
硬件消抖,并联小电容,或者逻辑消抖
硬件消抖(RS触发器), 逻辑消抖(不断检测按键值,直到按键值稳定)
1.硬件,加电容
2.软件,延迟或者计数器
按键可以考虑不要用机械式的,可以用反射式红外对管啊
手指靠上去输出低电平,手指拿掉输出高。
绝无抖动,稳定可靠,寿命还长
硬件:施密特触发器
软件:定时等间隔采样
我的話,都是用中斷方式(ISR)來做比較有效率的,Edge觸發時候,因為只要不清除標誌位
就可以自動消抖的效果,後面的雜訊輸入自動就Don't care
STM32的話可以輕鬆設定外部中斷(EXT系列)
所以您可以配合機械按鍵來實作
以上供參考