<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-CN">
		<id>http:///https//wiki.microduino.cn/index.php?action=history&amp;feed=atom&amp;title=Key.readVal%28%29</id>
		<title>Key.readVal() - 版本历史</title>
		<link rel="self" type="application/atom+xml" href="http:///https//wiki.microduino.cn/index.php?action=history&amp;feed=atom&amp;title=Key.readVal%28%29"/>
		<link rel="alternate" type="text/html" href="https//wiki.microduino.cn/index.php?title=Key.readVal()&amp;action=history"/>
		<updated>2026-04-29T18:14:14Z</updated>
		<subtitle>本wiki的该页面的版本历史</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https//wiki.microduino.cn/index.php?title=Key.readVal()&amp;diff=21721&amp;oldid=prev</id>
		<title>Yanglibin@microduino.cc：创建页面，内容为“{| style=&quot;width: 800px;&quot; |- | 用来检测数字开关、模拟开关、虚拟开关【释放】【按下】动作及状态。 &lt;p style=&quot;color: #666666;font-size:145...”</title>
		<link rel="alternate" type="text/html" href="https//wiki.microduino.cn/index.php?title=Key.readVal()&amp;diff=21721&amp;oldid=prev"/>
				<updated>2017-07-19T08:10:38Z</updated>
		
		<summary type="html">&lt;p&gt;创建页面，内容为“{| style=&amp;quot;width: 800px;&amp;quot; |- | 用来检测数字开关、模拟开关、虚拟开关【释放】【按下】动作及状态。 &amp;lt;p style=&amp;quot;color: #666666;font-size:145...”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{| style=&amp;quot;width: 800px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
用来检测数字开关、模拟开关、虚拟开关【释放】【按下】动作及状态。&lt;br /&gt;
&amp;lt;p style=&amp;quot;color: #666666;font-size:145%&amp;quot;&amp;gt;'''数字开关：Key. readVal()'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color: #E87E05;font-size:135%&amp;quot;&amp;gt;描述&amp;lt;/p&amp;gt;&lt;br /&gt;
识别数字传感器的【释放】【按下】动作及状态。数字开关必须结合&amp;lt;big&amp;gt;[[DigitalKey()]]&amp;lt;/big&amp;gt;结构体来使用。&lt;br /&gt;
&amp;lt;p style=&amp;quot;color: #E87E05;font-size:135%&amp;quot;&amp;gt;参数&amp;lt;/p&amp;gt;&lt;br /&gt;
无&lt;br /&gt;
&amp;lt;p style=&amp;quot;color: #E87E05;font-size:135%&amp;quot;&amp;gt;返回值&amp;lt;/p&amp;gt;&lt;br /&gt;
uint8_t类型。&lt;br /&gt;
*释放状态：&amp;lt;code style=&amp;quot;color: #E87E05&amp;quot;&amp;gt;KEY_RELEASED&amp;lt;/code&amp;gt;&lt;br /&gt;
*按下状态：&amp;lt;code style=&amp;quot;color: #E87E05&amp;quot;&amp;gt;KEY_PRESSED&amp;lt;/code&amp;gt;&lt;br /&gt;
*释放动作：&amp;lt;code style=&amp;quot;color: #E87E05&amp;quot;&amp;gt;KEY_RELEASING&amp;lt;/code&amp;gt;&lt;br /&gt;
*按下动作：&amp;lt;code style=&amp;quot;color: #E87E05&amp;quot;&amp;gt;KEY_PRESSING&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color: #666666;font-size:145%&amp;quot;&amp;gt;'''模拟开关：Key. readVal(MIN,MAX)'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color: #E87E05;font-size:135%&amp;quot;&amp;gt;描述&amp;lt;/p&amp;gt;&lt;br /&gt;
识别模拟传感器对应区间的【释放】【按下】动作及状态。模拟开关必须结合&amp;lt;big&amp;gt;[[AnalogKey()]]&amp;lt;/big&amp;gt;结构体来使用。&lt;br /&gt;
&amp;lt;p style=&amp;quot;color: #E87E05;font-size:135%&amp;quot;&amp;gt;参数&amp;lt;/p&amp;gt;&lt;br /&gt;
*'''MIN'''：模拟区间最小值；&lt;br /&gt;
*'''MAX'''：模拟区间最大值；&lt;br /&gt;
&amp;lt;p style=&amp;quot;color: #E87E05;font-size:135%&amp;quot;&amp;gt;返回值&amp;lt;/p&amp;gt;&lt;br /&gt;
uint8_t类型。&lt;br /&gt;
*释放状态：&amp;lt;code style=&amp;quot;color: #E87E05&amp;quot;&amp;gt;KEY_RELEASED&amp;lt;/code&amp;gt;&lt;br /&gt;
*按下状态：&amp;lt;code style=&amp;quot;color: #E87E05&amp;quot;&amp;gt;KEY_PRESSED&amp;lt;/code&amp;gt;&lt;br /&gt;
*释放动作：&amp;lt;code style=&amp;quot;color: #E87E05&amp;quot;&amp;gt;KEY_RELEASING&amp;lt;/code&amp;gt;&lt;br /&gt;
*按下动作：&amp;lt;code style=&amp;quot;color: #E87E05&amp;quot;&amp;gt;KEY_PRESSING&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color: #666666;font-size:145%&amp;quot;&amp;gt;'''虚拟开关：Key. readVal(bool)'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color: #E87E05;font-size:135%&amp;quot;&amp;gt;描述&amp;lt;/p&amp;gt;&lt;br /&gt;
识别虚拟开关对应状态的【释放】【按下】动作及状态。虚拟开关必须结合&amp;lt;big&amp;gt;[[VirtualKey()]]&amp;lt;/big&amp;gt;结构体来使用。&lt;br /&gt;
&amp;lt;p style=&amp;quot;color: #E87E05;font-size:135%&amp;quot;&amp;gt;参数&amp;lt;/p&amp;gt;&lt;br /&gt;
*'''bool'''：虚拟开关的真假值；&lt;br /&gt;
&amp;lt;p style=&amp;quot;color: #E87E05;font-size:135%&amp;quot;&amp;gt;返回值&amp;lt;/p&amp;gt;&lt;br /&gt;
uint8_t类型。&lt;br /&gt;
*释放状态：&amp;lt;code style=&amp;quot;color: #E87E05&amp;quot;&amp;gt;KEY_RELEASED&amp;lt;/code&amp;gt;&lt;br /&gt;
*按下状态：&amp;lt;code style=&amp;quot;color: #E87E05&amp;quot;&amp;gt;KEY_PRESSED&amp;lt;/code&amp;gt;&lt;br /&gt;
*释放动作：&amp;lt;code style=&amp;quot;color: #E87E05&amp;quot;&amp;gt;KEY_RELEASING&amp;lt;/code&amp;gt;&lt;br /&gt;
*按下动作：&amp;lt;code style=&amp;quot;color: #E87E05&amp;quot;&amp;gt;KEY_PRESSING&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color: #E87E05;font-size:135%&amp;quot;&amp;gt;示例&amp;lt;/p&amp;gt;&lt;br /&gt;
*识别模拟传感器对应区间的【长按】【短按】动作&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Microduino_Key.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
AnalogKey keyAnalog(A0);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  keyAnalog.begin(INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  switch (keyAnalog.readVal(0, 50)) {  //(模拟最小值,模拟最大值)&lt;br /&gt;
    case KEY_RELEASED:&lt;br /&gt;
      Serial.println(&amp;quot;KEY (analog)  RELEASED---1&amp;quot;);     //按键释放状态&lt;br /&gt;
      break;&lt;br /&gt;
    case KEY_PRESSED:&lt;br /&gt;
      Serial.println(&amp;quot;KEY (analog)  PRESSED-------2&amp;quot;);    //按键按下状态&lt;br /&gt;
      break;&lt;br /&gt;
    case KEY_PRESSING:&lt;br /&gt;
      Serial.println(&amp;quot;KEY (analog)  PRESSING--------3&amp;quot;);    //按键按下动作&lt;br /&gt;
      break;&lt;br /&gt;
    case KEY_RELEASING:&lt;br /&gt;
      Serial.println(&amp;quot;KEY (analog)  RELEASING---------4&amp;quot;);    //按键释放动作&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*识别数字传感器对应区间的【长按】【短按】动作&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Microduino_Key.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DigitalKey keyDigital(A0);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  keyDigital.begin(INPUT_PULLUP);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  switch (keyDigital.readVal()) {&lt;br /&gt;
    case KEY_RELEASED:&lt;br /&gt;
      Serial.println(&amp;quot;KEY (digital) RELEASED---1&amp;quot;);   //按键释放状态&lt;br /&gt;
      break;&lt;br /&gt;
    case KEY_PRESSED:&lt;br /&gt;
      Serial.println(&amp;quot;KEY (digital) PRESSED-------2&amp;quot;);    //按键按下状态&lt;br /&gt;
      break;&lt;br /&gt;
    case KEY_PRESSING:&lt;br /&gt;
      Serial.println(&amp;quot;KEY (digital) PRESSING--------3&amp;quot;);  //按键按下动作&lt;br /&gt;
      break;&lt;br /&gt;
    case KEY_RELEASING:&lt;br /&gt;
      Serial.println(&amp;quot;KEY (digital) RELEASING---------4&amp;quot;);    //按键释放动作&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*识别虚拟开关对应状态的【长按】【短按】动作&lt;br /&gt;
&amp;lt;source lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;Microduino_Key.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VirtualKey keyVirtual;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  keyVirtual.begin();&lt;br /&gt;
  pinMode(A0, INPUT_PULLUP);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  bool val = !digitalRead(A0);  //val 可以是任何bool变量&lt;br /&gt;
  switch (keyVirtual.readVal(val)) {&lt;br /&gt;
    case KEY_RELEASED:&lt;br /&gt;
      Serial.println(&amp;quot;KEY (digital) RELEASED---1&amp;quot;);   //按键释放状态&lt;br /&gt;
      break;&lt;br /&gt;
    case KEY_PRESSED:&lt;br /&gt;
      Serial.println(&amp;quot;KEY (digital) PRESSED-------2&amp;quot;);    //按键按下状态&lt;br /&gt;
      break;&lt;br /&gt;
    case KEY_PRESSING:&lt;br /&gt;
      Serial.println(&amp;quot;KEY (digital) PRESSING--------3&amp;quot;);  //按键按下动作&lt;br /&gt;
      break;&lt;br /&gt;
    case KEY_RELEASING:&lt;br /&gt;
      Serial.println(&amp;quot;KEY (digital) RELEASING---------4&amp;quot;);    //按键释放动作&lt;br /&gt;
      break;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color: #E87E05;font-size:135%&amp;quot;&amp;gt;其他&amp;lt;/p&amp;gt;&lt;br /&gt;
*[[AnalogKey()]]&lt;br /&gt;
*[[DigitalKey()]]&lt;br /&gt;
*[[VirtualKey()]]&lt;br /&gt;
*[[key.begin()|begin()]]&lt;br /&gt;
*[[key.readEvent()| readEvent()]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:115%&amp;quot;&amp;gt;[[Sensor_Key_Reference|返回Sensor_Key_Reference界面]]&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yanglibin@microduino.cc</name></author>	</entry>

	</feed>