Key.readVal()
Yanglibin@microduino.cc(讨论 | 贡献)2017年7月19日 (三) 08:10的版本 (创建页面,内容为“{| style="width: 800px;" |- | 用来检测数字开关、模拟开关、虚拟开关【释放】【按下】动作及状态。 <p style="color: #666666;font-size:145...”)
用来检测数字开关、模拟开关、虚拟开关【释放】【按下】动作及状态。 数字开关:Key. readVal() 描述 识别数字传感器的【释放】【按下】动作及状态。数字开关必须结合DigitalKey()结构体来使用。 参数 无 返回值 uint8_t类型。
模拟开关:Key. readVal(MIN,MAX) 描述 识别模拟传感器对应区间的【释放】【按下】动作及状态。模拟开关必须结合AnalogKey()结构体来使用。 参数
返回值 uint8_t类型。
虚拟开关:Key. readVal(bool) 描述 识别虚拟开关对应状态的【释放】【按下】动作及状态。虚拟开关必须结合VirtualKey()结构体来使用。 参数
返回值 uint8_t类型。
示例
#include <Microduino_Key.h>
AnalogKey keyAnalog(A0);
void setup() {
Serial.begin(9600);
keyAnalog.begin(INPUT);
}
void loop() {
switch (keyAnalog.readVal(0, 50)) { //(模拟最小值,模拟最大值)
case KEY_RELEASED:
Serial.println("KEY (analog) RELEASED---1"); //按键释放状态
break;
case KEY_PRESSED:
Serial.println("KEY (analog) PRESSED-------2"); //按键按下状态
break;
case KEY_PRESSING:
Serial.println("KEY (analog) PRESSING--------3"); //按键按下动作
break;
case KEY_RELEASING:
Serial.println("KEY (analog) RELEASING---------4"); //按键释放动作
break;
}
delay(100);
}
#include <Microduino_Key.h>
DigitalKey keyDigital(A0);
void setup() {
Serial.begin(9600);
keyDigital.begin(INPUT_PULLUP);
}
void loop() {
switch (keyDigital.readVal()) {
case KEY_RELEASED:
Serial.println("KEY (digital) RELEASED---1"); //按键释放状态
break;
case KEY_PRESSED:
Serial.println("KEY (digital) PRESSED-------2"); //按键按下状态
break;
case KEY_PRESSING:
Serial.println("KEY (digital) PRESSING--------3"); //按键按下动作
break;
case KEY_RELEASING:
Serial.println("KEY (digital) RELEASING---------4"); //按键释放动作
break;
}
delay(100);
}
#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.readVal(val)) {
case KEY_RELEASED:
Serial.println("KEY (digital) RELEASED---1"); //按键释放状态
break;
case KEY_PRESSED:
Serial.println("KEY (digital) PRESSED-------2"); //按键按下状态
break;
case KEY_PRESSING:
Serial.println("KEY (digital) PRESSING--------3"); //按键按下动作
break;
case KEY_RELEASING:
Serial.println("KEY (digital) RELEASING---------4"); //按键释放动作
break;
}
delay(100);
}
其他 |