【问题标题】: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);
  }
}

有人知道它可以做什么吗?

通常,如果没有它,串行监视器会吐出右键但来回闪烁?

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

感谢您的帮助!

【问题讨论】:

    标签: types arduino keypad


    【解决方案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时才发布。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-12
        • 2011-12-27
        • 2017-09-12
        • 2013-10-31
        • 2012-03-05
        • 2012-12-22
        • 2011-10-08
        相关资源
        最近更新 更多