Arduino - NO_KEY 是啥意思和做啥?
Posted
技术标签:
【中文标题】Arduino - NO_KEY 是啥意思和做啥?【英文标题】:Arduino - What does NO_KEY mean and do?Arduino - NO_KEY 是什么意思和做什么? 【发布时间】:2020-12-22 19:29:08 【问题描述】:我正在尝试使用 LCD 和键盘制作一个计算器项目,但为了做到这一点,我需要知道 NO_KEY 的含义。
void loop()
char customKey = keypad.getKey();
if (customKey != NO_KEY)
Serial.println(customKey);
有人知道它可以做什么吗?
通常,如果没有它,串行监视器会吐出右键但来回闪烁?
当我添加这一行时,它神奇地起作用了。
感谢您的帮助!
【问题讨论】:
【参考方案1】:您正在使用keypad.getKey()
方法。这意味着每一帧,您都要求查看键盘上按下的键是什么,即使没有按下键。如果没有按键被按下,那么它会给出NO_KEY
的值。
一种整合方式是这样的:
if (keypad.getKey() != NO_KEY)
// The code here will run whenever there is a key pressed
【讨论】:
【参考方案2】:这意味着没有按下任何东西。
循环的每个循环,arduino 都会“获取”缓冲区中等待的当前字符。
如果没有等待字符,keypad.getKey()
将返回 NO_KEY
。
为什么要使用这个? keypad.getKey()
返回按下的键(如果有)。这个功能是 非阻塞。
这意味着您的 arduino 在按下键之前不会变得糟糕。 (不像waitForKey()
)
more here
【讨论】:
感谢您的帮助!【参考方案3】:好的,我的朋友已经告诉我为什么需要这样做了。
本质上,getKey 函数无论如何都会给出一个字符响应,这意味着当没有按下任何键时,它会在串行监视器中显示为一个空格,因此会闪烁。
现在它只会在不等于no key时才发布。
太好了,是时候继续项目的其余部分了!
【讨论】:
以上是关于Arduino - NO_KEY 是啥意思和做啥?的主要内容,如果未能解决你的问题,请参考以下文章