“Sensor-Crash 碰撞传感器常见问题”的版本间的差异
(创建页面,内容为“*Q1:'''按键串口打印试验中为什么只碰一下串口打印出3个''' **A:'''按键在按下时会产生抖动,串口直接读取按键的值会给出抖...”) |
|||
(未显示1个用户的2个中间版本) | |||
第1行: | 第1行: | ||
− | *Q1: | + | *Q1:按键串口打印试验中为什么只碰一下串口打印出3个 |
− | **A: | + | **A:按键在按下时会产生抖动,串口直接读取按键的值会给出抖动的值。请参考下面按键防抖函数 |
+ | <pre style="color:green"> | ||
+ | #include <Microduino_Key.h> | ||
+ | Key KeyA(A0, INPUT_PULLUP); | ||
+ | Key KeyB(A2, INPUT); | ||
+ | |||
+ | void setup(){ | ||
+ | Serial.begin(9600); | ||
+ | } | ||
+ | |||
+ | void loop(){ | ||
+ | switch(KeyA.read()){ | ||
+ | case SHORT_PRESS: | ||
+ | Serial.println("KEY A(digital) SHORT_PRESS"); //短按 | ||
+ | break; | ||
+ | case LONG_PRESS: | ||
+ | Serial.println("KEY A(digital) LONG_PRESS"); //长按 | ||
+ | break; | ||
+ | } | ||
+ | |||
+ | switch(KeyB.read(500, 530)){ | ||
+ | case SHORT_PRESS: | ||
+ | Serial.println("KEY B(analog) SHORT_PRESS"); //短按 | ||
+ | break; | ||
+ | case LONG_PRESS: | ||
+ | Serial.println("KEY B(analog) LONG_PRESS"); //长按 | ||
+ | break; | ||
+ | } | ||
+ | |||
+ | delay(15); | ||
+ | } | ||
+ | </pre> | ||
2017年5月22日 (一) 09:59的最新版本
- Q1:按键串口打印试验中为什么只碰一下串口打印出3个
- A:按键在按下时会产生抖动,串口直接读取按键的值会给出抖动的值。请参考下面按键防抖函数
#include <Microduino_Key.h> Key KeyA(A0, INPUT_PULLUP); Key KeyB(A2, INPUT); void setup(){ Serial.begin(9600); } void loop(){ switch(KeyA.read()){ case SHORT_PRESS: Serial.println("KEY A(digital) SHORT_PRESS"); //短按 break; case LONG_PRESS: Serial.println("KEY A(digital) LONG_PRESS"); //长按 break; } switch(KeyB.read(500, 530)){ case SHORT_PRESS: Serial.println("KEY B(analog) SHORT_PRESS"); //短按 break; case LONG_PRESS: Serial.println("KEY B(analog) LONG_PRESS"); //长按 break; } delay(15); }