“Key.readEvent()”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(创建页面,内容为“{| style="width: 800px;" |- | 用来检测数字开关、模拟开关、虚拟开关【长按】【短按】动作。 <p style="color: #666666;font-size:145%">'''数...”)
 
 
(未显示1个用户的3个中间版本)
第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>
第32行: 第34行:
 
<br>
 
<br>
 
<p style="color: #E87E05;font-size:135%">示例</p>
 
<p style="color: #E87E05;font-size:135%">示例</p>
*设置模拟开关
+
*识别模拟传感器对应区间的【长按】【短按】动作
 
<source lang="c++">
 
<source lang="c++">
 
#include <Microduino_Key.h>
 
#include <Microduino_Key.h>
第57行: 第59行:
 
</source>
 
</source>
 
<br>
 
<br>
*设置数字开关
+
*识别数字传感器对应区间的【长按】【短按】动作
 
<source lang="c++">
 
<source lang="c++">
 
#include <Microduino_Key.h>
 
#include <Microduino_Key.h>
第82行: 第84行:
 
</source>
 
</source>
 
<br>
 
<br>
*设置虚拟开关
+
*识别虚拟开关对应状态的【长按】【短按】动作
 
<source lang="c++">
 
<source lang="c++">
 
#include <Microduino_Key.h>
 
#include <Microduino_Key.h>
第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");  //短按
第115行: 第117行:
 
*[[key.readVal()|readVal()]]
 
*[[key.readVal()|readVal()]]
 
|}
 
|}
 +
<br>
 +
<br>
 +
<p style="font-size:115%">[[Sensor_Key_Reference|返回Sensor_Key_Reference界面]]</p>

2017年7月20日 (四) 14:46的最新版本

用来检测数字开关、模拟开关、虚拟开关【长按】【短按】动作。

数字开关:Key. readEvent(time)

描述

识别数字传感器的【长按】【短按】动作。数字开关必须结合DigitalKey()结构体来使用。

参数

  • time:长按时间,不填默认为1000ms。

返回值

uint8_t类型。短按:SHORT_PRESS,长按:LONG_PRESS

模拟开关:Key. readEvent(MIN,MAX,time)

描述

识别模拟传感器对应区间的【长按】【短按】动作。模拟开关必须结合AnalogKey()结构体来使用。

参数

  • MIN:模拟区间最小值;
  • MAX:模拟区间最大值;
  • time:长按时间,不填默认为1000ms。

返回值

uint8_t类型。短按:SHORT_PRESS,长按:LONG_PRESS

虚拟开关:Key. readEvent(bool,time)

描述

识别虚拟开关对应状态的【长按】【短按】动作。虚拟开关必须结合VirtualKey()结构体来使用。

参数

  • bool:虚拟开关的真假值;
  • time:长按时间,不填默认为1000ms。

返回值

uint8_t类型。短按:SHORT_PRESS,长按:LONG_PRESS

示例

  • 识别模拟传感器对应区间的【长按】【短按】动作
#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);
}

其他



返回Sensor_Key_Reference界面