2017-03-12 164 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的代码和答案。