修改后的Arduino闪烁代码根本不亮

问题描述 投票:0回答:1

我有一个 Arduino Uno R3。我从基本的 Blink.ino 示例开始,并开始尝试它,尝试使连接到引脚 13 的 LED 以不同的速率闪烁,具体取决于引脚 12 与引脚 11、引脚 10 或引脚之间是否连接了跳线。什么也没有。

uint8_t lightState = 1;

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  digitalWrite(12, HIGH);
  pinMode(11, INPUT);
  pinMode(10, INPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, lightState);   // turn the LED off by making the voltage LOW
  lightState ^= lightState;
  if (digitalRead(11) == HIGH) delay(500);
  else if (digitalRead(10) == HIGH) delay(2000);
  else delay(1000);                      // wait for a second
}

此代码没有任何反应:LED 根本不会亮起。但一切都适用于原始的 Blink 示例。

io arduino-uno arduino-ide
1个回答
0
投票

摘自gre_gor的评论:

x XOR x
始终为假。

是的,我很笨。我记错了按位异或切换技巧是如何工作的,它是

var ^= 1

© www.soinside.com 2019 - 2024. All rights reserved.