arduino 引脚的默认状态是什么?

What Is the default state of an arduino pin?

我有 2 个输入引脚,想根据引脚状态打印特定数字 (HIGH/LOW)。

我为此编写了以下程序,但它只在串口中打印错误。

代码如下

int L1 = 2;
int L2 = 3;

void setup() {
  // put your setup code here, to run once:
  pinMode(L1, INPUT);
  pinMode(L2, INPUT);

  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  if (L1 == HIGH && L2 == HIGH){
    Serial.println(10);
  }

  else if (L1 == HIGH && L2 == LOW) {
    Serial.println(20);
  }

  else if (L1 == LOW && L2 == LOW) {
    Serial.println(30);
  }

  else if (L1 == LOW && L2 == HIGH) {
    Serial.println(40);
  }

  else {
    Serial.println("error");
  }

  delay(2000);
}

你不应该使用L2==LOW/HIGH,L2总是等于3,就像你一开始定义的那样

相反,您应该使用 digitalRead(L2)

例如:

    void loop() {
      
      if (digitalRead(L1)==HIGH && digitalRead(L2)==HIGH) {
        Serial.println(10);
      }
    
      else if (digitalRead(L1)==HIGH && digitalRead(L2)==LOW) {
        Serial.println(20);
      }
    
      else if (digitalRead(L1)==LOW && digitalRead(L2)==LOW) {
        Serial.println(30);
      }
    
      else if (digitalRead(L1)==LOW && digitalRead(L2)==HIGH) {
        Serial.println(40);
      }
    
      else {
        Serial.println("error");
      }
    
      delay(2000);
    }