0、ESP8266引脚的说明

本指南将学习如何正确使用 ESP8266 GPIO。

1、ESP8266-12E

下图说明了 ESP8266 12-E 芯片引脚。如果在项目中使用 ESP8266 裸芯片,请使用此关系图。

image.png

目前,ESP8266芯片的开发板种类繁多,在可访问的GPIOs数量、尺寸、外形规格等方面各不相同。

使用最广泛的ESP8266板是ESP-01,ESP8266-12E节点MCU套件,和MINI D1。 有关这些板的比较。

2、ESP8266-01 引脚

如果使用 ESP8266-01 板,可以使用以下 GPIO 关系图作为参考。

image.png

3、ESP8266 12-E 节点套件

image.png

4、WeMos D1Mini

下图显示了 WeMos D1 迷你引脚。

image.png

关于 ESP8266,需要注意的一件重要的事情是 GPIO 编号与板载上的标识并不匹配。例如,D0 对应于 GPIO16,D1 对应于 GPIO5。

下表显示了板载标识和 GPIO 编号上的标签之间的对应关系,以及项目中最好使用的引脚,以及哪些引脚需要谨慎。

绿色突出显示的引脚可以使用。以黄色突出显示的可以使用,但需要注意,因为它们可能有意外行为,主要在启动时。不建议红色突出显示的引脚用作输入或输出。****

LabelGPIOInputOutputNotes
D0GPIO16无中断无 Pwm 或 I2c 支持HIGH at boot used to wake up from deep sleep
D1GPIO5OKOK常用作SCL(I2C)
D2GPIO4OKOK常用作SDA(I2C)
D3GPIO0上拉OKconnected to FLASH button, boot fails if pulled LOW
D4GPIO2上拉OKHIGH at boot connected to on-board LED, boot fails if pulled LOW
D5GPIO14OKOKSPI (SCLK)
D6GPIO12OKOKSPI (MISO)
D7GPIO13OKOKSPI (MOSI)
D8GPIO15下拉OKSPI (CS) Boot fails if pulled HIGH
RXGPIO3OKRXHIGH at boot
TXGPIO1TXOKHIGH at boot debug output at boot, boot fails if pulled LOW
A0ADC0模拟引脚X 

继续阅读,对 ESP8266 GPIOs 及其功能进行更详细的深入分析。

5、连接到闪存芯片的 GPIOS

GPIO6 到 GPIO11 通常连接到 ESP8266 板中的闪存芯片。因此,不建议使用这些引脚。

6、启动期间使用的引脚

如果某些引脚被拉低或高,可以阻止 ESP8266 启动。以下列表显示了引导上的以下引脚的状态:

  • GPIO16:引脚在引导时高
  • GPIO0:如果拉低,启动失败
  • GPIO2: 引脚在引导时高, 启动失败, 如果拉低
  • GPIO15: 启动失败,如果拉高
  • GPIO3: 引脚在引导时高
  • GPIO1: 引脚在引导时高, 启动失败, 如果拉低
  • GPIO10: 引脚在引导时高
  • GPIO9: 引脚在引导时高

7、引脚在启动时高

当 ESP8266 启动时,某些引脚输出 3.3V 信号。如果您有继电器或其他外设连接到这些 GPIOs,这可能有问题。以下 GPIOs 在启动时输出高信号:

  • GPIO16
  • GPIO3
  • GPIO1
  • GPIO10
  • GPIO9

此外,除 GPIO5 和 GPIO4 外,其他 GPIOs 可以在引导时输出低压信号,如果这些信号连接到晶体管或继电器,则可能会有问题。您可以阅读本文,其中调查每个 GPIO 在启动时的状态和行为。

如果要操作继电器,GPIO4 和 GPIO5 是使用 GPIOs 最安全的方式。

8、模拟输入

ESP8266 仅支持一个 GPIO 中的模拟读取。GPIO 称为ADC0,通常在丝网上标记为A0

如果使用 ESP8266 裸芯片,ADC0 引脚的最大输入电压为 0 到 1V。如果您使用的是 ESP8266 12-E NodeMCU 套件等开发板,则电压输入范围为 0 到 3.3V,因为这些板包含内部分压器。

9、板载 LED

大多数 ESP8266 开发板都具有内置 LED。此 LED 通常连接到 GPIO2(D4)。发送高信号以将其关闭,发送低信号以将其打开。

image.png

10、RST 引脚

当 RST 引脚拉低时,ESP8266 将复位。这与按板载重置按钮相同。

image.png

11、GPIO0

当 GPIO0 被拉低时,它会将 ESP8266 设置到引导加载器模式。这与按下板载闪存/引导按钮相同。

image.png

12、GPIO16

GPIO16 可用于从深度睡眠中唤醒 ESP8266。要从深度睡眠中唤醒 ESP8266,GPIO16 应连接到 RST 引脚。

13、I2C

ESP8266没有硬件 I2C 引脚,但它可以在软件中实现。因此,您可以将任何 GPIOS 用作 I2C。通常,以下 GPIOS 用作 I2C 引脚:

  • GPIO5: SCL
  • GPIO4: SDA

14、SPI

ESP8266 中用作 SPI 的引脚包括:

  • GPIO12: MISO
  • GPIO13: MOSI
  • GPIO14: SCLK
  • GPIO15: CS

15、PWM 引脚

ESP8266 允许所有 I/O 引脚的软件 PWM。ESP8266 上的 PWM 信号具有 10 位分辨率。

16、中断引脚

ESP8266 支持任何 GPIO 中的中断,GPIO16 除外。

17、程序下载流程

(1)、手动接线下载接线方式:

        CH340G USB转TTL模块转串口下载线 MICRO接口(HW-694)

image.png

        接线方式:
        HW-694                    ESP8266
        VCC           接              5V
        GND          接             GND
        GND          接             REST
        GND          接             GPIO0
        RXD           接             TXD 
        TXD           接              RXD
        在arduino 点击上传 出现Connecting…… 拔下REST开始上传

image.png

Q.E.D.


生命在于折腾