Arduino - NO_KEY 是什么意思和作用?

Arduino - What does NO_KEY mean and do?

我正在尝试制作一个带有 LCD 和键盘的计算器项目,但为了做到这一点,我需要知道 NO_KEY 是什么意思。

void loop() {
  char customKey = keypad.getKey();
  
  if (customKey != NO_KEY)
  {
    Serial.println(customKey);
  }
}

有谁知道它能做什么?

通常情况下,如果没有它,串行监视器会吐出正确的键,但会来回闪烁?

当我添加这一行时,它神奇地起作用了。

感谢您的帮助!

表示没有按下
循环的每个周期,arduino“获取”缓冲区中等待的当前字符。
如果没有等待字符 keypad.getKey() 将 return NO_KEY.

为什么要使用这个?
keypad.getKey()

Returns the key that is pressed, if any. This function is non-blocking.

这意味着您的 arduino 在按下按键之前不会变得糟糕。 (不同于 waitForKey()

more here

好的,我的朋友已经告诉我为什么需要这个了。

本质上,getKey 函数无论如何总是给出一个字符响应,这意味着当没有按键被按下时,它将在串行监视器中 post 作为 space,因此闪烁。

现在只有post不等于没有key才会

很好,是时候继续项目的其余部分了!

您正在使用 keypad.getKey() 方法。这意味着每一帧,您都要求查看键盘上按下的键是什么,即使没有按下键也是如此。如果没有按键被按下,那么它将给出 NO_KEY.

的值

集成它的一种方法是:

if (keypad.getKey() != NO_KEY)
{
    // The code here will run whenever there is a key pressed
}