ESP8266引脚的说明

ESP8266引脚的说明

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

ESP8266-12E

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

image-20210205161305538

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

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

ESP8266-01 引脚

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

image-20210205161422778

ESP8266 12-E 节点套件

image-20210205161507654

WeMos D1Mini

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

image-20210205161555311

关于 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)。发送高信号以将其关闭,发送低信号以将其打开。

ESP8266 NodeMCU On-board LED

RST 引脚

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

ESP8266 NodeMCU On-board Reset button

GPIO0

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

ESP8266 NodeMCU GPIO 0 Flash boot button

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 除外。

posted @ 2021-02-05 17:30  崔安兵  阅读(42218)  评论(0编辑  收藏  举报