使用Arduino IDE的Adafruit Feather Huzzah ESP8266上拉电阻

时间:2017-07-26 07:26:47

标签: arduino esp8266 arduino-ide adafruit

我正在研究Adafruit Feather Huzzah ESP8266,我想在按钮上添加一个内部上拉。当我使用电阻器手动上拉时,我的接线工​​作正常但是当我在Arduino IDE代码中使用以下行添加内部上拉时,它无法正常工作。

pinMode(BOUTON,INPUT_PULLUP) 

这是我的完整代码:

const int LED = 13; 
const int BOUTON = 16; 

void setup() 
{
    pinMode(LED, OUTPUT); 
    pinMode(BOUTON, INPUT);
}

void loop()
{
    int etat = digitalRead(BOUTON);
    if(etat==LOW)
    {
        digitalWrite(LED, HIGH); 
    }
    else  
    {
        digitalWrite(LED, LOW);
    }
}

这是我的上拉接线:​​

这是我所谓的内部上拉的接线:

2 个答案:

答案 0 :(得分:3)

编写程序时,您错误地认为GPIO16有一个上拉电阻。它没有。

  

启动时,引脚配置为INPUT。

     

GPIO0-GPIO15可以是INPUT,OUTPUT或INPUT_PULLUP。 GPIO16可以是INPUT,OUTPUT或INPUT_PULLDOWN_16。它也是用于deepSleep()的XPD(可能通过一个小电容器。)

     

请注意,GPIO6-GPIO11通常用于接口   在大多数esp8266模块上都有闪存IC,所以这些引脚   通常不应该使用。

参考:http://www.esp8266.com/wiki/doku.php?id=esp8266_gpio_pin_allocations

答案 1 :(得分:1)

看看Adafruits overview of the Feather HUZZAH ESP8266。您可以使用GPIO的0,2,4,5,12,13,14,15,16但是:

  

这些引脚是通用的,可用于任何类型的输入   或输出。 大多数人还可以打开内部上拉。   许多都有特殊的功能。

详细了解GPIO 16向我们展示了它非常特别。 GPIO用于将控制器从深度睡眠中唤醒。因此,它是唯一具有内置下拉电阻的GPIO,在this beginners guide中有描述。这允许直接连接RESET。这意味着 GPIO 16没有像假设那样的上拉电阻