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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5759|回复: 4

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

[复制链接]
发表于 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);
}

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

 楼主| 发表于 2017-10-29 10:44 | 显示全部楼层
本来不应该是按一下灯亮,再按一下灯灭吗?
发表于 2017-10-29 11:26 | 显示全部楼层
你符号弄错了
!=是逻辑运算,不等于
!是取反,=号是赋值
正确的取反+赋值写法是:
ledState =! ledState;
发表于 2017-10-29 11:30 | 显示全部楼层
书上示例程序,都可以在这里看到:https://clz.me/arduino-book/examples/
 楼主| 发表于 2017-10-29 20:21 | 显示全部楼层
奈何col 发表于 2017-10-29 11:30
书上示例程序,都可以在这里看到:https://clz.me/arduino-book/examples/

感谢,看了下发现书上少了记录按键状态的操作,感谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 02:40 , Processed in 0.095567 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表