#include <PS2Keyboard.h>
const int buttonPin = 4;
int buttonState = 0;
void setup() {
pinMode (buttonPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
Serial.print("\t");
Serial.println("In");
}
}
我只是想让它打印出来,但它会不断重复。
也许我按下按钮的时间更长,但我希望循环运行一次。
答案 0 :(得分:0)
我的建议是在Serial.print("Storage");
之后为您的代码添加延迟,如下所示:
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
Serial.print("\t");
Serial.println("Storage");
delay(500);
}
}
我怀疑发生的事情是,即使你快速按下按钮,虚拟循环也会经历多次。要解决这个问题,你需要增加所需时间的延迟,这样如果按下按钮,你就有时间在代码重新开始循环之前松开。