ESP8266 引脚分配指南
ESP8266 引脚分配参考
ESP8266 的优点之一是它有大量的 GPIO 引脚可供使用。您无需处理或复用 IO 引脚。但是,有一些事情需要记住,所以请仔细阅读引脚排列。
笔记:
请注意,以下引脚分配参考适用于流行的 30 引脚ESP8266 NodeMCU开发板。
并非每个 ESP8266 开发板都会暴露每个引脚,但无论您使用哪种开发板,每个引脚的工作原理都完全相同。
ESP8266 外设和 I/O
ESP8266 NodeMCU 共有 17 个 GPIO 引脚,分别引出至开发板两侧的排针。这些引脚可以分配多种外设职责,包括:
1 个 ADC 通道 | 1通道10位精度SAR ADC |
2个UART接口 | 2 个 UART 接口,支持流量控制 |
4 个脉宽调制输出 | 4 个 PWM 引脚,用于控制电机速度或 LED 亮度等 |
2个SPI和1个I2C接口 | 2个SPI和1个I2C接口,用于连接各种传感器和外设 |
I2S接口 | 一个 I2S 接口,用于为您的项目添加声音 |
得益于 ESP8266 的引脚复用功能,允许多个外设共享单个 GPIO 引脚。也就是说,单个 GPIO 引脚可以执行 I2C、I2S、UART 和 PWM 等功能。
ESP8266 引脚排列
ESP8266 NodeMCU 共有 30 个引脚。为了方便起见,具有相似功能的引脚被分组在一起。引脚排列如下:
我们来一一详细了解一下ESP8266的引脚及其功能。
GPIO 引脚
ESP8266 NodeMCU 有 17 个 GPIO 引脚,可以通过编程适当的寄存器来分配不同的功能。每个 GPIO 均可配置内部上拉或下拉,或设置为高阻抗。
哪些 ESP8266 GPIO 可以安全使用?
虽然 ESP8266 有很多具有各种功能的引脚,但其中一些引脚可能不适合您的项目。下表显示了哪些引脚可以安全使用以及哪些引脚应谨慎使用。
标签 | 通用输入输出接口 | 使用安全吗? | 原因 |
D0 | GPIO16 | 注意 | 启动时为高电平,用于从深度睡眠中唤醒 |
D1 | GPIO5 | GOOD | |
D2 | GPIO4 | GOOD | |
D3 | GPIO0 | 注意 | 连接到 FLASH 按钮,如果拉低则启动失败 |
D4 | GPIO2 | 注意 | 启动时为高电平,如果拉低电平则启动失败 |
D5 | GPIO14 | GOOD | |
D6 | GPIO12 | GOOD | |
D7 | GPIO13 | GOOD | |
D8 | GPIO15 | 注意 | 启动所需,如果拉高则启动失败 |
RX | GPIO3 | NO | Rx引脚,用于烧写和调试 |
TX | GPIO1 | NO | Tx引脚,用于烧写和调试 |
CLK | GPIO6 | NO | 连接至闪存 |
SDO | GPIO7 | NO | 连接至闪存 |
CMD | GPIO11 | NO | 连接至闪存 |
SD1 | GPIO8 | NO | 连接至闪存 |
SD2 | GPIO9 | NO | 连接至闪存 |
SD3 | GPIO10 | NO | 连接至闪存 |
A0 | ADC0 | 注意 | 模拟输入引脚,不能配置为输出 |
下图显示了哪些 GPIO 引脚可以安全使用。
ADC 引脚
ESP8266 嵌入了 10 位精度 SAR ADC,这意味着它可以检测 1024 (2^10) 个离散模拟电平。换句话说,它将把 0 到 3.3V(工作电压)范围内的输入电压转换为 0 到 1024 范围内的整数值。这导致分辨率为 3.3 伏/1024 个单位,或每单位 0.0032 伏(3.2 mV)。
以下两种测量可以使用 ADC 来实现。但是,它们不能同时实施。
SPI 引脚
ESP8266 在从模式和主模式下具有两个 SPI(SPI 和 HSPI)。这些 SPI 还支持下列通用 SPI 功能:
可以通过“bitbanging”在任何引脚上使用 SPI。
I2C 引脚
ESP8266 没有硬件 I2C 引脚,但可以通过“bitbanging”来完成。它工作得很好,ESP8266 的速度足以匹配“Arduino 级别”的速度。
默认情况下,GPIO4 (SDA) 和 GPIO5 (SCL) 用作 I2C 引脚,以便人们更轻松地使用现有的 Arduino 代码、库和草图。
wire.begin(SDA, SCL)
但是,您可以通过在 Arduino IDE 中调用,将任何其他两个 GPIO 引脚用作 I2C 引脚。
串口引脚
ESP8266 有两个 UART 接口,UART0 和 UART2,支持高达 4.5 Mbps 的异步通信(RS232 和 RS485)。
RXD0 和 TXD0 是串行控制和引导加载引脚。它们主要用于与 ESP 模块通信。
因此,在使用它们时应小心谨慎,因为它们通过 USB 转串口转换器连接,因此会接收 USB 流量。
脉宽调制引脚
ESP8266 的所有 GPIO 引脚(从 GPIO0 到 GPIO15)均可编程以生成脉宽调制 (PWM) 输出。
在 ESP8266 上,PWM 信号具有 10 位分辨率,PWM 频率范围在 1000 μs 至 10000 μs(即 100 Hz 至 1 kHz)之间可调。
SDIO 引脚
ESP8266 有 1 个从 SDIO(安全数字输入/输出接口)用于连接 SD 卡。支持 SDIO v1.1(4 位 25 MHz)和 SDIO v2.0(4 位 50 MHz)。
电源引脚
如果您有 5V 稳压电源,VIN 引脚可用于直接为 ESP8266 及其外设供电。
3V3引脚是板载稳压器的输出;您可以从中获得高达 600mA 的电流。
GND 是接地引脚。
中断引脚
除 GPIO16 外,所有 GPIO 均可配置为中断。
控制引脚
EN(又名 CH_PD 或芯片断电)引脚是 ESP8266 的使能引脚,默认拉高。当拉高时,芯片被使能;当拉低时,芯片被禁用。
RST 引脚是 ESP8266 的复位引脚,默认拉高。当暂时拉低到地时,它将重置 ESP8266。相当于按下板载RST按钮。
ESP8266 使用 FLASH 引脚来确定何时启动引导加载程序。如果该引脚在加电期间保持低电平,它将开始引导加载!相当于按下板载FLASH按钮。
WAKE 引脚用于将 ESP8266 从深度睡眠状态唤醒。
作者:sx天若有情