我试图用液晶显示器和键盘制作一个计算器项目,但为了做到这一点,我需要知道NO_KEY的意思。
void loop() {
char customKey = keypad.getKey();
if (customKey != NO_KEY)
{
Serial.println(customKey);
}
}有人知道它能做什么吗?
通常,没有它,串行监视器吐出正确的键,但正在来回闪烁?
当我把这一行加进去时,它神奇地起作用。
谢谢你的帮助!
发布于 2020-12-22 20:21:19
您正在使用keypad.getKey()方法。这意味着每一帧,您都要求查看键按在键盘上是什么,即使一个键没有被按下。如果没有按下键,那么它将给出NO_KEY的值。
整合这一点的一种方法是:
if (keypad.getKey() != NO_KEY)
{
// The code here will run whenever there is a key pressed
}发布于 2020-12-22 19:37:56
这意味着什么都没有被压制。
循环的每一个循环,arduino“获取”缓冲区中等待的当前字符。
如果没有等待字符,keypad.getKey()将返回NO_KEY。
你为什么要用这个?
keypad.getKey()
返回按下的键(如果有的话)。这个功能是非阻塞的.
那就意味着你的阿迪诺在按下钥匙之前不会变烂的。(与waitForKey()不同)
发布于 2020-12-22 19:40:03
好吧,我朋友已经告诉我为什么需要这个了。
本质上,getKey函数总是给出一个字符响应,这意味着当没有按下键时,它将作为空格在串行监视器中发布,因此会闪烁。
现在,只有当它不等于没有键时,它才会发布。
太好了,是时候继续做剩下的事情了!
https://stackoverflow.com/questions/65414757
复制相似问题