Key.readEvent()
用来检测数字开关、模拟开关、虚拟开关【长按】【短按】动作。 数字开关:Key. readEvent(time) 描述 识别数字传感器的【长按】【短按】动作。数字开关必须结合DigitalKey()结构体来使用。 参数
返回值 uint8_t类型。短按: 模拟开关:Key. readEvent(MIN,MAX,time) 描述 识别模拟传感器对应区间的【长按】【短按】动作。模拟开关必须结合AnalogKey()结构体来使用。 参数
返回值 uint8_t类型。短按: 虚拟开关:Key. readEvent(bool,time) 描述 识别虚拟开关对应状态的【长按】【短按】动作。虚拟开关必须结合VirtualKey()结构体来使用。 参数
返回值 uint8_t类型。短按: 示例
#include <Microduino_Key.h>
AnalogKey keyAnalog(A0);
void setup() {
Serial.begin(9600);
keyAnalog.begin(INPUT);
}
void loop() {
switch (keyAnalog.readEvent(0, 50)) { //(模拟最小值,模拟最大值)
case SHORT_PRESS:
Serial.println("KEY (analog) SHORT_PRESS"); //短按
break;
case LONG_PRESS:
Serial.println("KEY (analog) LONG_PRESS"); //长按
break;
}
delay(50);
}
#include <Microduino_Key.h>
DigitalKey keyDigital(A0);
void setup() {
Serial.begin(9600);
keyDigital.begin(INPUT_PULLUP);
}
void loop() {
switch (keyDigital.readEvent()) {
case SHORT_PRESS:
Serial.println("KEY (digital) SHORT_PRESS"); //短按
break;
case LONG_PRESS:
Serial.println("KEY (digital) LONG_PRESS"); //长按
break;
}
delay(50);
}
#include <Microduino_Key.h>
VirtualKey keyVirtual;
void setup() {
Serial.begin(9600);
keyVirtual.begin();
pinMode(A0, INPUT_PULLUP);
}
void loop() {
bool val = !digitalRead(A0); //val 可以是任何bool变量
switch (keyVirtual.readEvent(val,1500)) { //(变量,长按时间) 其中长按时间单位ms,不填为1000
case SHORT_PRESS:
Serial.println("KEY (Virtual) SHORT_PRESS"); //短按
break;
case LONG_PRESS:
Serial.println("KEY (Virtual) LONG_PRESS"); //长按
break;
}
delay(50);
}
其他 |