新手有点不能理解这个代码,求分析!!!!
int buttonPin = 2;int ledPin = 13;
boolean ledState = false;
boolean buttonState = true;
void setup()
{
pinMode(buttonPin,INPUT_PULLUP);
pinMode(ledPin,OUTPUT);
}
void loop()
{
while(digitalRead(buttonPin) == HIGH){}
if(ledState == true)
{
digitalWrite(ledPin,LOW);
ledState = !ledState;
}
else
{
digitalWrite(ledPin,HIGH);
ledState = !ledState;
}
delay(500);
}疑点1:
boolean buttonState = true;
在LOOP函数中没有出现过啊,这个有什么用啊???我感觉完全可以去掉。
疑点2:
while(digitalRead(buttonPin) == HIGH){}
while中没有执行语句啊,就一个条件判断,起什么作用呢,什么原理呢??
两个疑惑的地方,求指教!!!!
貌似是我写的:
解答1:
boolean buttonState = true;//记录led状态
loop中出现了啊。
解答2:
while(digitalRead(buttonPin) == HIGH){} //等待开关按下,当没有按下时,就一直是高电平,这句就一直处于循环等待状态。
这个程序的解释在书的50页 确定程序写完了么?{:soso_e153:} 奈何col 发表于 2014-6-12 11:44
貌似是我写的:
解答1:
boolean buttonState = true;//记录led状态
谢谢,第二个我理解!第一个没出现过啊 .oο麽麽茶㊣ 发表于 2014-6-12 12:36
确定程序写完了么?
书上的例子,我按书上写的啊 henyi2211 发表于 2014-6-12 15:43
书上的例子,我按书上写的啊
那就是不按按钮 LED闪啊闪,按住按钮LED不闪了。
那个buttonState没有任何意义。 呃呃呃,我看成ledstate了,那个buttonState确实没意义,估计是我从其他程序上复制粘贴来时,忘删掉了 奈何col 发表于 2014-6-12 16:34
呃呃呃,我看成ledstate了,那个buttonState确实没意义,估计是我从其他程序上复制粘贴来时,忘删掉了 ...
就这个问题,搞得我也瞎琢磨了好几天!原来是一场误会,悲催了 电子狂热者 发表于 2015-1-12 00:08
就这个问题,搞得我也瞎琢磨了好几天!原来是一场误会,悲催了
非常抱歉,第二版中已经修正了这个问题
页:
[1]
2