带有按钮的菜单
Menu with PushButtons
我对构建带有按钮的菜单有疑问。
最初,我必须等待按下按钮。
当有人离开时,我必须打开按下按钮的选项。我尝试如下,但我没有成功。有人有什么建议吗?
void loop() {
int button1 = digitalRead(but1);
int button2 = digitalRead(but2);
while (button1 == LOW && button2 ==LOW) {};
while (button1 == HIGH || button2 ==HIGH) {
if (button1 == HIGH) {
Serial.print("RFID")
rfid_menu();
}
if (button2 == HIGH) {
Serial.print("FingerPrint")
fingerprint_menu();
}
};
}
您的代码卡住的原因是行中的值 button1 和 button2:
while (button1 == LOW && button2 == LOW) {};
当代码首次运行时,它会将值 LOW 分配给这两个变量。
虽然这两个值都是 LOW,但循环中的代码(在本例中没有任何内容)将永远循环,直到 button1 或 button2 的值发生变化。然而,由于循环中没有代码,这永远不会发生
要解决这个问题,我会删除那行代码。你的代码仍然可以工作,因为其他两个 while 循环只会在按下其中一个按钮时执行(假设一切都正确连接)
我对构建带有按钮的菜单有疑问。 最初,我必须等待按下按钮。 当有人离开时,我必须打开按下按钮的选项。我尝试如下,但我没有成功。有人有什么建议吗?
void loop() {
int button1 = digitalRead(but1);
int button2 = digitalRead(but2);
while (button1 == LOW && button2 ==LOW) {};
while (button1 == HIGH || button2 ==HIGH) {
if (button1 == HIGH) {
Serial.print("RFID")
rfid_menu();
}
if (button2 == HIGH) {
Serial.print("FingerPrint")
fingerprint_menu();
}
};
}
您的代码卡住的原因是行中的值 button1 和 button2:
while (button1 == LOW && button2 == LOW) {};
当代码首次运行时,它会将值 LOW 分配给这两个变量。 虽然这两个值都是 LOW,但循环中的代码(在本例中没有任何内容)将永远循环,直到 button1 或 button2 的值发生变化。然而,由于循环中没有代码,这永远不会发生
要解决这个问题,我会删除那行代码。你的代码仍然可以工作,因为其他两个 while 循环只会在按下其中一个按钮时执行(假设一切都正确连接)