串行監視器在每100ms正在打印 「0」,這表明該buttonState爲LOW。
但是,當用戶按下紅色圓頂按鈕Red Dome Button時,假設發信號通知buttonState爲高電平,並且在串行監視器上,應該每隔100ms打印一次「1」,直到用戶再次按下紅色圓頂按鈕爲止表示buttonState爲低電平並且串行監視器正在打印「0」。
問題:
串行監控輸出「0」,在每100ms最初,當我按下紅色圓頂按鈕時,buttonState返回一個HIGH和串行監控正在輸出「1 」。但是,串行「1」不成立,並立即恢復爲「0」。
當我連續按下按鈕時,串行「1」將只顯示在串行監視器中。
含義:
正確的行爲:
初始狀態 - >串行監控將輸出所有串行0直到用戶按下按鈕,然後串行監控將輸出所有串行1,直到用戶按下按鈕再然後輸出將再換串口0
當前行爲:
我 - >串行監視器將輸出所有串行0直到用戶按下按鈕,然後串行監視器將輸出串行1,但立即,串行將返回到0
因此,如何啓用串行狀態保持在按下按鈕後串行1,只有當我再次按下按鈕時,串行纔會顯示0?我需要一些幫助。謝謝
代碼:
const int buttonPin = 2; // the number of the pushbutton pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
Serial.begin(9600); // Open serial port to communicate
}
void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
Serial.println("1");
}
else {
Serial.println("0");
}
delay(100);
}
2個狀態按鈕的行爲等,其中一次由用戶按下開關,它會關閉電路,並再次鬱悶的時候,它會打開電路。我對嗎?所以顯然我的物理按鈕只有一箇中斷按鈕。我對嗎? – Luke
我認爲你的按鈕就像你所說的。代碼是否工作? – dubafek
是的,它的確如此。謝謝 – Luke