0

我正在使用如下所示的浮动开关(3 个)和一个 NodeMCU esp8266,

所有三个开关都以相同的方式定义(input_pullup)

这些开关中的 2 个随着开关移动命令而改变状态,但其中一个开关没有改变状态并且永远卡在低电平

请在下面找到引脚和代码以及开关处于打开和关闭状态的图片。

uint8_t level1=D0; //switch with issue // have also tried with D8 as only these two pins are free
uint8_t level2=D1; //switch working fine
uint8_t level3=D3; //switch working fine

    pinMode(level1,INPUT_PULLUP);
      pinMode(level2,INPUT_PULLUP);
      pinMode(level3,INPUT_PULLUP);
    }
    int currlevel=0;
    void loop() {
    
      int level1Sensor=digitalRead(level1);
      int level2Sensor=digitalRead(level2);
      int level3Sensor=digitalRead(level3);
      Serial.println(level1Sensor);
      Serial.println(level2Sensor);
      Serial.println(level3Sensor);

关闭状态图片 打开状态图片

注意:我还在同一个 nodeMCU 中使用 nrf24L01 进行通信,但用于这些开关的引脚不重叠。

4

1 回答 1

0

正如@Juraj 发布的链接中所述,D0 (GPIO16) 没有内部上拉电阻。它有一个内部下拉。使用不同的引脚。

于 2020-09-05T21:29:40.553 回答