arduino实现一个按键检测库
本帖最后由 cxg 于 2021-1-29 20:18 编辑参照OneButton库, 我实现了一个自己的按键检测库, 实现了按键的按下,抬起,长按,双击功能, 代码简洁明了。目前只在esp32上测试过,在stm32, arduino uno上应该也没问题.
demo代码:
#include <Arduino.h>
#include "cxg_Btn.h"
static int btn1_pin = 39;
static CxgBtn btn1(btn1_pin, false);
void setup() {
Serial.begin(115200);
//按钮按下回调
btn1.setBtnKeydown([]() {
Serial.println("keyDown");
});
//按钮抬起回调
btn1.setBtnKeyUp([]() {
Serial.println("keyUp");
});
//按钮长按回调
btn1.setBtnLongPress([]() {
Serial.println("longPress");
});
//双击回调
btn1.setBtnDoubleClickCallback([]() {
Serial.println("doubleClick");
});
}
void loop() {
//循环检查状态
btn1.check();
}
可以设置类的这几个属性, 以达到最佳的按键效果。
新版将构造方法初始化改为调用attach方法初始化
不错哈 ...... 本帖最后由 cxg 于 2021-4-8 15:01 编辑
1.双击bug修复
2.实现虚拟按键检测(把一个bool变量 值为:0-1 当成按钮) 刚好需要这个,下载学习一下~;P
页:
[1]