首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阿迪诺-- NO_KEY是什么意思?

问阿迪诺-- NO_KEY是什么意思?
EN

Stack Overflow用户
提问于 2020-12-22 19:29:08
回答 3查看 2.8K关注 0票数 0

我试图用液晶显示器和键盘制作一个计算器项目,但为了做到这一点,我需要知道NO_KEY的意思。

代码语言:javascript
复制
void loop() {
  char customKey = keypad.getKey();
  
  if (customKey != NO_KEY)
  {
    Serial.println(customKey);
  }
}

有人知道它能做什么吗?

通常,没有它,串行监视器吐出正确的键,但正在来回闪烁?

当我把这一行加进去时,它神奇地起作用。

谢谢你的帮助!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-12-22 20:21:19

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

整合这一点的一种方法是:

代码语言:javascript
复制
if (keypad.getKey() != NO_KEY)
{
    // The code here will run whenever there is a key pressed
}
票数 2
EN

Stack Overflow用户

发布于 2020-12-22 19:37:56

这意味着什么都没有被压制。

循环的每一个循环,arduino“获取”缓冲区中等待的当前字符。

如果没有等待字符,keypad.getKey()将返回NO_KEY。

你为什么要用这个?

keypad.getKey()

返回按下的键(如果有的话)。这个功能是非阻塞的.

那就意味着你的阿迪诺在按下钥匙之前不会变烂的。(与waitForKey()不同)

更多在这里

票数 2
EN

Stack Overflow用户

发布于 2020-12-22 19:40:03

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

本质上,getKey函数总是给出一个字符响应,这意味着当没有按下键时,它将作为空格在串行监视器中发布,因此会闪烁。

现在,只有当它不等于没有键时,它才会发布。

太好了,是时候继续做剩下的事情了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65414757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档