ESP8266引脚的说明
本指南将学习如何正确使用 ESP8266 GPIO。
ESP8266-12E
下图说明了 ESP8266 12-E 芯片引脚。如果在项目中使用 ESP8266 裸芯片,请使用此关系图。
目前,ESP8266芯片的开发板种类繁多,在可访问的GPIOs数量、尺寸、外形规格等方面各不相同。
使用最广泛的ESP8266板是ESP-01,ESP8266-12E节点MCU套件,和MINI D1。 有关这些板的比较。
ESP8266-01 引脚
如果使用 ESP8266-01 板,可以使用以下 GPIO 关系图作为参考。
ESP8266 12-E 节点套件
WeMos D1Mini
下图显示了 WeMos D1 迷你引脚。
关于 ESP8266,需要注意的一件重要的事情是 GPIO 编号与板载上的标识并不匹配。例如,D0 对应于 GPIO16,D1 对应于 GPIO5。
下表显示了板载标识和 GPIO 编号上的标签之间的对应关系,以及项目中最好使用的引脚,以及哪些引脚需要谨慎。
以绿色突出显示的引脚可以使用。以黄色突出显示的可以使用,但需要注意,因为它们可能有意外行为,主要在启动时。不建议将红色突出显示的引脚用作输入或输出。****
Label | GPIO | Input | Output | Notes |
---|---|---|---|---|
D0 | GPIO16 | 无中断 | 无 Pwm 或 I2c 支持 | HIGH at boot used to wake up from deep sleep |
D1 | GPIO5 | OK | OK | 常用作SCL(I2C) |
D2 | GPIO4 | OK | OK | 常用作SDA(I2C) |
D3 | GPIO0 | 上拉 | OK | connected to FLASH button, boot fails if pulled LOW |
D4 | GPIO2 | 上拉 | OK | HIGH at boot connected to on-board LED, boot fails if pulled LOW |
D5 | GPIO14 | OK | OK | SPI (SCLK) |
D6 | GPIO12 | OK | OK | SPI (MISO) |
D7 | GPIO13 | OK | OK | SPI (MOSI) |
D8 | GPIO15 | 下拉 | OK | SPI (CS) Boot fails if pulled HIGH |
RX | GPIO3 | OK | RX | HIGH at boot |
TX | GPIO1 | TX | OK | HIGH at boot debug output at boot, boot fails if pulled LOW |
A0 | ADC0 | 模拟引脚 | X |
继续阅读,对 ESP8266 GPIOs 及其功能进行更详细的深入分析。
连接到闪存芯片的 GPIOS
GPIO6 到 GPIO11 通常连接到 ESP8266 板中的闪存芯片。因此,不建议使用这些引脚。
启动期间使用的引脚
如果某些引脚被拉低或高,可以阻止 ESP8266 启动。以下列表显示了引导上的以下引脚的状态:
- GPIO16:引脚在引导时高
- GPIO0:如果拉低,启动失败
- GPIO2: 引脚在引导时高, 启动失败, 如果拉低
- GPIO15: 启动失败,如果拉高
- GPIO3: 引脚在引导时高
- GPIO1: 引脚在引导时高, 启动失败, 如果拉低
- GPIO10: 引脚在引导时高
- GPIO9: 引脚在引导时高
引脚在启动时高
当 ESP8266 启动时,某些引脚输出 3.3V 信号。如果您有继电器或其他外设连接到这些 GPIOs,这可能有问题。以下 GPIOs 在启动时输出高信号:
- GPIO16
- GPIO3
- GPIO1
- GPIO10
- GPIO9
此外,除 GPIO5 和 GPIO4 外,其他 GPIOs 可以在引导时输出低压信号,如果这些信号连接到晶体管或继电器,则可能会有问题。您可以阅读本文,其中调查每个 GPIO 在启动时的状态和行为。
如果要操作继电器,GPIO4 和 GPIO5 是使用 GPIOs 最安全的方式。
模拟输入
ESP8266 仅支持一个 GPIO 中的模拟读取。GPIO 称为ADC0,通常在丝网上标记为A0。
如果使用 ESP8266 裸芯片,ADC0 引脚的最大输入电压为 0 到 1V。如果您使用的是 ESP8266 12-E NodeMCU 套件等开发板,则电压输入范围为 0 到 3.3V,因为这些板包含内部分压器。
板载 LED
大多数 ESP8266 开发板都具有内置 LED。此 LED 通常连接到 GPIO2(D4)。发送高信号以将其关闭,发送低信号以将其打开。
RST 引脚
当 RST 引脚拉低时,ESP8266 将复位。这与按板载重置按钮相同。
GPIO0
当 GPIO0 被拉低时,它会将 ESP8266 设置到引导加载器模式。这与按下板载闪存/引导按钮相同。
GPIO16
GPIO16 可用于从深度睡眠中唤醒 ESP8266。要从深度睡眠中唤醒 ESP8266,GPIO16 应连接到 RST 引脚。
I2c
ESP8266没有硬件 I2C 引脚,但它可以在软件中实现。因此,您可以将任何 GPIOS 用作 I2C。通常,以下 GPIOS 用作 I2C 引脚:
- GPIO5: SCL
- GPIO4: SDA
Spi
ESP8266 中用作 SPI 的引脚包括:
- GPIO12: MISO
- GPIO13: MOSI
- GPIO14: SCLK
- GPIO15: CS
PWM 引脚
ESP8266 允许所有 I/O 引脚的软件 PWM。ESP8266 上的 PWM 信号具有 10 位分辨率。
中断引脚
ESP8266 支持任何 GPIO 中的中断,GPIO16 除外。