Arduino - NO_KEY 是什么意思?

问题描述

我正在尝试使用 LCD 和键盘制作一个计算器项目,但为此我需要知道 NO_KEY 的含义。

:

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

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

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

感谢您的帮助!

解决方法

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

集成的一种方法是:

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

这意味着没有按下任何东西。
循环的每个循环,arduino“获取”在缓冲区中等待的当前字符。
如果没有等待字符, public void waitForNewWindowAndSwitchToIt(WebDriver driver) { String cHandle = driver.getWindowHandle(); String newWindowHandle = null; Set<String> allWindowHandles = driver.getWindowHandles(); // Wait for 20 seconds for the new window and throw exception if not found for (int i = 0; i < 20; i++) { if (allWindowHandles.size() > 1) { for (String allHandlers : allWindowHandles) { if (!allHandlers.equals(cHandle)) newWindowHandle = allHandlers; } driver.switchTo().window(newWindowHandle); break; } else { } } if (cHandle == newWindowHandle) { throw new RuntimeException("Time out - No window found"); } } public boolean closeAllOtherWindows(WebDriver driver,String openWindowHandle) { Set<String> allWindowHandles = driver.getWindowHandles(); for (String currentWindowHandle : allWindowHandles) { if (!currentWindowHandle.equals(openWindowHandle)) { driver.switchTo().window(currentWindowHandle); driver.close(); } } driver.switchTo().window(openWindowHandle); if (driver.getWindowHandles().size() == 1) return true; else return false; } 将返回 keypad.getKey()

为什么要使用它?
NO_KEY

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

这意味着您的 arduino 在按下按键之前不会被吸吮。 (不同于keypad.getKey()

more here

,

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

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

现在它只会在不等于没有键的情况下发布。

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...