ESP8266 12-E 芯片带有 17 个 GPIO 引脚。并不是所有的 ESP8266 开拓板都暴露了所有的 GPIO,有些 GPIO 是不推举利用的,还有一些有非常分外的功能。
通过本指南,您将理解如何精确利用 ESP8266 GPIO,并通过为您的项目利用最得当的引脚来避免数小时的挫败感。
我们还有一份 ESP32 GPIO 指南:ESP32 引脚参考:您该当利用哪些 GPIO 引脚?

下图解释了 ESP8266 12-E 芯片的引脚排列。如果您在项目中利用 ESP8266 裸芯片,请利用此图。
把稳:并非所有 GPIO 都可以在所有开拓板中访问,但无论您利用哪种开拓板,每个特定 GPIO 都以相同的办法事情。如果您刚刚开始利用 ESP8266,我们建议您阅读我们的指南:ESP8266 入门。
目前,带有 ESP8266 芯片的开拓板种类繁多,在可访问 GPIO 的数量、尺寸、形状等方面有所不同……
利用最广泛的 ESP8266 板是ESP-01、ESP8266-12E NodeMCU Kit和Wemos D1 Mini。有关这些板的比较,您可以阅读本指南:ESP8266 Wi-Fi 开拓板比较。
ESP8266-01 引脚排列如果您利用的是 ESP8266-01 板,您可以利用以下 GPIO 图作为参考。
ESP8266 12-E NodeMCU 套件
ESP8266 12-E NodeMCU 套件引脚图如下所示。
Wemos D1 迷你引脚分配
下图显示了 WeMos D1 Mini 引脚排列。
下载带有 ESP8266 引脚图的 PDF
我们整理了一份方便的 PDF 文件,您可以下载和打印,因此您身边总是有 ESP8266 图表:
下载 PDF 引脚图 »
ESP8266 外设ESP8266 外设包括:
17 个 GPIOSPII2C(在软件上实现)与 DMA 的 I2S 接口UART10 位 ADC最佳利用引脚——ESP8266关于 ESP8266 须要把稳的一件主要事情是 GPIO 编号与板上丝印上的标签不匹配。例如,D0 对应 GPIO16,D1 对应 GPIO5。
下表显示了丝印上的标签与GPIO编号的对应关系,以及在您的项目中最好利用哪些管脚,须要把稳哪些管脚。
以绿色突出显示的引脚可以利用。黄色突出显示的可以利用,但您须要把稳,由于它们可能紧张在启动时涌现意外行为。不建议将赤色突出显示的引脚用作输入或输出。
标签
通用输入输出接口
输入
输出
条记
D0
GPIO16
没有中断
不支持 PWM 或 I2C
开机时高 习气于从深度就寝中醒来
D1
GPIO5
行
行
常常用作SCL(I2C)
D2
GPIO4
行
行
常常用作SDA(I2C)
D3
GPIO0
拉上来
行
连接到 FLASH 按钮,如果拉低,则启动失落败
D4
GPIO2
拉上来
行
开机时高 连接到板载 LED,如果拉低,则启动失落败
D5
GPIO14
行
行
SPI(SCLK)
D6
GPIO12
行
行
SPI(味噌)
D7
GPIO13
行
行
SPI(莫西)
D8
GPIO15
拉到GND
行
SPI(CS) 如果拉高,则启动失落败
吸收
GPIO3
行
吸收引脚
开机时高
德克萨斯州
GPIO1
发送引脚
行
开机时高 启动时调试输出,如果拉低则启动失落败
A0
ADC0
仿照输入
X
连续阅读对 ESP8266 GPIO 及其功能的更详细和深入的剖析。
连接到闪存芯片的 GPIOGPIO6 到 GPIO11 常日连接到 ESP8266 板上的 flash 芯片。因此,不建议利用这些引脚。
勾引期间利用的引脚如果某些引脚被拉低或拉高,则可以防止 ESP8266 启动。以下列表显示了 BOOT 上以下引脚的状态:
GPIO16: BOOT 引脚为高电平GPIO0:如果拉低,则启动失落败GPIO2:BOOT 引脚为高电平,如果拉低则启动失落败GPIO15:如果拉高,则启动失落败GPIO3:BOOT 引脚为高电平GPIO1:BOOT 引脚为高电平,如果拉低则启动失落败GPIO10:BOOT 引脚为高电平GPIO9:BOOT 引脚为高电平勾引时引脚为高电平当 ESP8266 启动时,某些引脚会输出 3.3V 旗子暗记。如果您将继电器或其他外围设备连接到这些 GPIO,这可能会涌现问题。以下 GPIO 在启动时输出 HIGH 旗子暗记:
GPIO16GPIO3GPIO1GPIO10GPIO9此外,除 GPIO5 和 GPIO4 外,其他 GPIO 可以在启动时输出低电压旗子暗记,如果这些 GPIO 连接到晶体管或继电器,则可能会涌现问题。您可以阅读这篇调查每个 GPIO 在启动时的状态和行为的文章。
如果要操作继电器,GPIO4 和 GPIO5 是最安全的 GPIO。
仿照输入ESP8266 仅支持一个 GPIO 中的仿照读取。该 GPIO 称为ADC0,常日在丝印上标记为A0。
如果您利用的是 ESP8266 裸芯片,ADC0 引脚的最大输入电压为 0 到 1V。如果您利用的是 ESP8266 12-E NodeMCU 套件等开拓板,则电压输入范围为 0 至 3.3V,由于这些板包含内部分压器。
您可以通过以下指南理解如何利用 ESP8266 进行仿照阅读:
ESP8266 ADC – 利用 Arduino IDE、MicroPython 和 Lua 读取仿照值板载 LED大多数 ESP8266 开拓板都内置了 LED。该 LED 常日连接到 GPIO2。
LED 利用反转逻辑事情。发送一个 HIGH 旗子暗记将其关闭,发送一个 LOW 旗子暗记将其打开。
RST 引脚当 RST 引脚拉低时,ESP8266 复位。这与按下板载 RESET 按钮相同。
GPIO0
当 GPIO0 被拉低时,它将 ESP8266 设置为勾引加载程序模式。这与按下板载 FLASH/BOOT 按钮相同。
GPIO16
GPIO16 可用于将 ESP8266 从深度就寝中唤醒。要将 ESP8266 从深度就寝中唤醒,GPIO16 应连接到 RST 引脚。理解如何将 ESP8266 置于深度就寝模式:
ESP8266 深度就寝与 Arduino IDEESP8266 深度就寝与 MicroPythonI2CESP8266 没有硬件 I2C 引脚,但可以用软件实现。因此,您可以将任何 GPIO 用作 I2C。常日,以下 GPIO 用作 I2C 引脚:
GPIO5:SCLGPIO4:SDASPIESP8266 中用作 SPI 的引脚有:
GPIO12:味噌GPIO13:MOSIGPIO14:SCLKGPIO15:CSPWM 引脚ESP8266 许可在所有 I/O 引脚中利用软件 PWM:GPIO0 到 GPIO15。ESP8266 上的 PWM 旗子暗记具有 10 位分辨率。理解如何利用 ESP8266 PWM 引脚:
ESP8266 PWM 与 Arduino IDEESP8266 PWM 与 MicroPython中断引脚ESP8266 支持任何 GPIO 中的中断,但 GPIO16 除外。
带有 Arduino IDE 的 ESP8266 中断和定时器