按照书本上的程序编译完,结果按一下按键灯亮了,再按.....-Arduino中文社区 - Powered by Discuz! Archiver

旺旺99 发表于 2017-10-29 10:43

按照书本上的程序编译完,结果按一下按键灯亮了,再按.....

int ledPin = 13,buttonPin = 2;
boolean ledState = false;
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(1000);
}

上面是我的程序,接线是按书上的接线方法接的啊,实在不知道哪里的问题?

旺旺99 发表于 2017-10-29 10:44

本来不应该是按一下灯亮,再按一下灯灭吗?

奈何col 发表于 2017-10-29 11:26

你符号弄错了
!=是逻辑运算,不等于
!是取反,=号是赋值
正确的取反+赋值写法是:
ledState =! ledState;

奈何col 发表于 2017-10-29 11:30

书上示例程序,都可以在这里看到:https://clz.me/arduino-book/examples/

旺旺99 发表于 2017-10-29 20:21

奈何col 发表于 2017-10-29 11:30
书上示例程序,都可以在这里看到:https://clz.me/arduino-book/examples/

感谢,看了下发现书上少了记录按键状态的操作,感谢:handshake
页: [1]
查看完整版本: 按照书本上的程序编译完,结果按一下按键灯亮了,再按.....