2017-03-12 163 views
0

代碼劑量不完美的作品if語句在while循環的Arduino

int pushButton = 2; 

int gearstatus = 0 ; 

int buttonState; 

void setup() { 
    Serial.begin(9600); 
    pinMode(pushButton, INPUT); 


} 
void gearfunction(){ 
    buttonState = digitalRead(pushButton); 

    while(gearstatus <= 5){ 

    Serial.println(gearstatus); 

    if(buttonState == HIGH){ 
     gearstatus++;} 
    } 
    } 


void loop() { 


    gearfunction(); 

} 

在此代碼我試圖如果while循環, 但代碼不起作用聲明。有人可以給我如何做到這一點?我想增加geartatus達5,但價值不增加。

+2

你能顯示輸出嗎? –

+0

輸出爲無窮零 –

+0

嘗試在循環(),fn中添加此行。 digitalWrite(pushButton,HIGH); –

回答

0

它不工作,因爲標記按鈕輸入不會使其等於HIGH

你需要把設置功能內部的輸入指令後:

digitalWrite(pushButton,HIGH) 
+0

任何關於更改代碼的建議,請 –

+0

編輯以幫助您,如果我幫助您,請將其標記^^ –

0

能否請您解釋一下什麼你正在嘗試做,如果你附上一個電路的小圖像會更好。如果您提供所需信息,我可以建議您使用circuits.io的代碼和答案。