arduino ide下用六脚无锁按键控制ESP32上自带LED的亮灭,并消抖
2023-04-16 19:25 作者:bili_110_120 | 我要投稿
学习中,仅记录,多多指教。
参考资料:
为什么消抖? (百度)
在机械按键的触点闭合和断开时,都会产生抖动,为了保证系统能正确识别按键的开关,就必须对按键的抖动进行处理。
单片机如果在触点抖动期间检测按键的通断状态,则可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,从而引起误处理。因此,为了确保单片机对一次按键动作只作一次响应,就必须考虑如何消除按键抖动的影响。
一般采用方式:
1. 软件消抖
a.循环等待 -- 浪费cpu
b. 状态机 -- 可接受
c. 定时器 + 中断 -- 占用定时器
2. 硬件消抖 -- 加电容
环境:
1. arduino ide 2.0.3
2. esp32 开发板 带WIFI、蓝牙 - DOIT ESP32 DEVKIT
如下图:

完整代码