“Key.readEvent()”的版本间的差异
(未显示另一用户的1个中间版本) | |||
第3行: | 第3行: | ||
| | | | ||
用来检测数字开关、模拟开关、虚拟开关【长按】【短按】动作。 | 用来检测数字开关、模拟开关、虚拟开关【长按】【短按】动作。 | ||
− | <p style="color: #666666;font-size:145%">'''数字开关:Key. readEvent()'''</p> | + | <p style="color: #666666;font-size:145%">'''数字开关:Key. readEvent(time)'''</p> |
<p style="color: #E87E05;font-size:135%">描述</p> | <p style="color: #E87E05;font-size:135%">描述</p> | ||
识别数字传感器的【长按】【短按】动作。数字开关必须结合<big>[[DigitalKey()]]</big>结构体来使用。 | 识别数字传感器的【长按】【短按】动作。数字开关必须结合<big>[[DigitalKey()]]</big>结构体来使用。 | ||
<p style="color: #E87E05;font-size:135%">参数</p> | <p style="color: #E87E05;font-size:135%">参数</p> | ||
− | + | *'''time''':长按时间,不填默认为1000ms。 | |
<p style="color: #E87E05;font-size:135%">返回值</p> | <p style="color: #E87E05;font-size:135%">返回值</p> | ||
uint8_t类型。短按:<code style="color: #E87E05">SHORT_PRESS</code>,长按:<code style="color: #E87E05">LONG_PRESS</code> | uint8_t类型。短按:<code style="color: #E87E05">SHORT_PRESS</code>,长按:<code style="color: #E87E05">LONG_PRESS</code> | ||
<br> | <br> | ||
<br> | <br> | ||
− | <p style="color: #666666;font-size:145%">'''模拟开关:Key. readEvent(MIN,MAX)'''</p> | + | <p style="color: #666666;font-size:145%">'''模拟开关:Key. readEvent(MIN,MAX,time)'''</p> |
<p style="color: #E87E05;font-size:135%">描述</p> | <p style="color: #E87E05;font-size:135%">描述</p> | ||
识别模拟传感器对应区间的【长按】【短按】动作。模拟开关必须结合<big>[[AnalogKey()]]</big>结构体来使用。 | 识别模拟传感器对应区间的【长按】【短按】动作。模拟开关必须结合<big>[[AnalogKey()]]</big>结构体来使用。 | ||
<p style="color: #E87E05;font-size:135%">参数</p> | <p style="color: #E87E05;font-size:135%">参数</p> | ||
*'''MIN''':模拟区间最小值; | *'''MIN''':模拟区间最小值; | ||
− | *'''MAX''' | + | *'''MAX''':模拟区间最大值; |
+ | *'''time''':长按时间,不填默认为1000ms。 | ||
<p style="color: #E87E05;font-size:135%">返回值</p> | <p style="color: #E87E05;font-size:135%">返回值</p> | ||
uint8_t类型。短按:<code style="color: #E87E05">SHORT_PRESS</code>,长按:<code style="color: #E87E05">LONG_PRESS</code> | uint8_t类型。短按:<code style="color: #E87E05">SHORT_PRESS</code>,长按:<code style="color: #E87E05">LONG_PRESS</code> | ||
<br> | <br> | ||
<br> | <br> | ||
− | <p style="color: #666666;font-size:145%">'''虚拟开关:Key. readEvent(bool)'''</p> | + | <p style="color: #666666;font-size:145%">'''虚拟开关:Key. readEvent(bool,time)'''</p> |
<p style="color: #E87E05;font-size:135%">描述</p> | <p style="color: #E87E05;font-size:135%">描述</p> | ||
识别虚拟开关对应状态的【长按】【短按】动作。虚拟开关必须结合<big>[[VirtualKey()]]</big>结构体来使用。 | 识别虚拟开关对应状态的【长按】【短按】动作。虚拟开关必须结合<big>[[VirtualKey()]]</big>结构体来使用。 | ||
<p style="color: #E87E05;font-size:135%">参数</p> | <p style="color: #E87E05;font-size:135%">参数</p> | ||
*'''bool''':虚拟开关的真假值; | *'''bool''':虚拟开关的真假值; | ||
+ | *'''time''':长按时间,不填默认为1000ms。 | ||
<p style="color: #E87E05;font-size:135%">返回值</p> | <p style="color: #E87E05;font-size:135%">返回值</p> | ||
uint8_t类型。短按:<code style="color: #E87E05">SHORT_PRESS</code>,长按:<code style="color: #E87E05">LONG_PRESS</code> | uint8_t类型。短按:<code style="color: #E87E05">SHORT_PRESS</code>,长按:<code style="color: #E87E05">LONG_PRESS</code> | ||
第96行: | 第98行: | ||
void loop() { | void loop() { | ||
bool val = !digitalRead(A0); //val 可以是任何bool变量 | bool val = !digitalRead(A0); //val 可以是任何bool变量 | ||
− | switch (keyVirtual.readEvent(val)) { | + | switch (keyVirtual.readEvent(val,1500)) { //(变量,长按时间) 其中长按时间单位ms,不填为1000 |
case SHORT_PRESS: | case SHORT_PRESS: | ||
Serial.println("KEY (Virtual) SHORT_PRESS"); //短按 | Serial.println("KEY (Virtual) SHORT_PRESS"); //短按 |
2017年7月20日 (四) 14:46的最新版本
用来检测数字开关、模拟开关、虚拟开关【长按】【短按】动作。 数字开关: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);
}
其他 |