相同的代码,但Arduino中的输出不同

时间:2019-06-19 07:23:38

标签: c arduino

最近我正在使用Arduino UNO开发程序。我为两个按钮编写的代码完全相同,但输出不同。

这是我写的代码。

const int BUTTON1 = 6;
const int BUTTON2 = 7;
String i, j, x;

int ButtonState = 0;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(BUTTON1, INPUT_PULLUP);
  pinMode(BUTTON2, INPUT_PULLUP);
}

void loop() {
  if (digitalRead(BUTTON1) == LOW) {
    delay(500);
    i = "1";
    Serial.println(i);
  } 
  if (digitalRead(BUTTON2) == LOW) {
    delay(500);
    j = "2";
    Serial.println(j);
  } 
  else {
    delay(500);
    x = "0";
    Serial.println(x);
  }
}

当我按住按钮1时,输出为 1个 0 1个 0 1个 0 1个 0

当我按住按钮2时,输出为 2 2 2 2 2 2 2

如何使button1的输出与button2的输出相同?

1 个答案:

答案 0 :(得分:4)

  

如何使button1的输出与button2的输出相同?

您将获得1 0 1 0 1 0 1 0的{​​{1}},因为每次按下button 1时都会执行第一个if和最后一个else块。

button1添加到第二个else

if