ESP32 总共有 48 个 GPIO 引脚,但其中只有 25 个被分解到开发板两侧的引脚接头中。这些引脚可以分配各种外设任务,包括:
- 15 个 ADC 通道 15 通道 12 位 SAR ADC,可选范围为 0-1V、0-1.4V、0-2V 或 0-4V
- 2 个 UART 接口 2 个 UART 接口,支持流量控制和 IrDA
- 25 路 PWM 输出 25 个 PWM 引脚,用于控制电机速度或 LED 亮度等
- 2 个数字转换器通道 两个 8 位 DAC 可产生真正的模拟电压
- SPI、I2C 和 I2S 接口 三个 SPI 和一个 I2C 接口,用于连接各种传感器和外设,以及两个 I2S 接口,用于为您的项目添加声音
- 9 触摸板 9 个带电容式触摸感应的 GPIO
ESP32 的引脚具有多路复用功能,允许多个外设共享一个 GPIO 引脚。例如,单个 GPIO 引脚可以充当 ADC 输入、DAC 输出或触摸板。
ESP32 引脚排列
ESP32 DevKit V1 开发板共有 30 个引脚。为方便起见,具有类似功能的引脚组合在一起。引脚排列如下:
GPIO 引脚
ESP32 开发板有 25 个 GPIO 引脚,可以分为:纯数字、模拟、电容式触摸等。支持模拟的 GPIO 和支持电容式触摸的 GPIO 可以配置为数字 GPIO。这些数字GPIO中的大多数都可以配置内部上拉或下拉,或设置为高阻抗。
ESP32 有很多具有各种功能的引脚,但其中一些可能不适合您的项目。下表显示了哪些引脚可以安全使用,哪些引脚应谨慎使用。
仅输入 GPIO
引脚 GPIO34、GPIO35、GPIO36(VP) 和 GPIO39(VN) 不能配置为输出。它们可以用作数字或模拟输入,或用于其他目的。与其他GPIO引脚不同,它们还缺少内部上拉和下拉电阻。
ESP32 中断引脚
所有 GPIO 都可以配置为中断
模数转换器引脚
ESP32 集成了两个 12 位 SAR ADC,支持 15 个通道(模拟引脚)的测量。
数字转换器引脚
ESP32 包括两个 8 位 DAC 通道,用于将数字信号转换为模拟电压。这些DAC具有8位分辨率,这意味着0至256范围内的值将转换为0至3.3V的模拟电压。
触摸引脚
ESP32 具有 9 个电容式触摸感应 GPIO。当容性负载(如人手指)靠近 GPIO 时,ESP32 会检测到电容的变化。可以通过将任何导电物体连接到这些引脚来制作触摸板,例如铝箔、导电布、导电涂料等。此外,这些电容式触摸引脚还可用于将 ESP32 从深度睡眠中唤醒
I2C 引脚
ESP32 具有一条 I2C 总线,可让您连接多达 112 个传感器和外设。默认情况下,SDA 和 SCL 引脚分配给以下引脚。但是,您可以使用该命令在任何 GPIO 引脚上对 I2C 协议进行位敲击。wire.begin(SDA, SCL)
SPI 引脚
ESP32 在从机和主机模式下具有三种 SPI(SPI、HSPI 和 VSPI)。这些 SPI 还支持下面列出的通用 SPI 功能:
- SPI 格式传输的 4 种定时模式
- 高达 80 MHz 和 80 MHz 的分频时钟
- 高达 64 字节的先进先出
只有VSPI和HSPI是可用的SPI接口,第三个SPI总线由集成闪存芯片使用。VSPI 引脚通常用于标准库。
HSPI有时被误解为“硬件”SPI,VSPI被误解为“虚拟或软件”SPI。然而,实际上,它们是相同的!
与 I2C 一样,可以使用该命令在任何 GPIO 引脚上对 SPI 协议进行位敲击。bus.begin(CLK_PIN, MISO_PIN, MOSI_PIN, SS_PIN);
UART引脚
ESP32 开发板具有三个 UART 接口:UART0、UART1 和 UART2,支持异步通信(RS232 和 RS485)和高达 5 Mbps 的 IrDA。
- UART0引脚连接到USB到串行转换器,用于刷机和调试。因此,不建议使用 UART0 引脚。
- UART1引脚保留用于集成闪存芯片。
- UART2连接到UART设备(如GPS,指纹传感器,距离传感器等)
此外,UART还提供CTS和RTS信号的硬件管理以及软件控制(XON和XOFF)
。
脉宽调制引脚
该板有 21 个通道(除仅输入 GPIO 外的所有 GPIO)的 PWM 引脚,由 PWM 控制器控制。PWM 输出可用于驱动数字电机和 LED。
PWM 控制器由 PWM 定时器、PWM 算子和专用捕获子模块组成。每个定时器以同步或独立形式提供定时,每个PWM算子为一个PWM通道生成波形。专用的捕获子模块可以通过外部定时准确捕获事件。
RTC GPIO 引脚
一些 GPIO 被路由到 RTC 低功耗子系统,称为 RTC GPIO。这些引脚用于在超低功耗 (ULP) 协处理器运行时将 ESP32 从深度睡眠中唤醒。下面突出显示的 GPIO 可用作外部唤醒源。
Strapping引脚
有五个Strapping引脚:GPIO0、GPIO2、GPIO5、GPIO12 和 GPIO15。
这些引脚用于将 ESP32 置于 BOOT 模式(运行存储在闪存中的程序)或 FLASH 模式(将程序上传到闪存)。根据这些引脚的状态,ESP32 将在上电时进入启动模式或闪存模式。
在大多数内置USB/串行的开发板上,您无需担心这些引脚的状态,因为主板将它们置于正确的闪烁或启动模式状态。
但是,如果外设连接到这些引脚,则在尝试上传新代码或使用新固件刷新 ESP32 时可能会遇到问题,因为这些外设会阻止 ESP32 进入正确的模式。
复位释放后,捆扎销工作正常,但仍应谨慎使用。
电源引脚
有两个电源引脚:VIN 引脚和 3V3 引脚。VIN 引脚可用于直接为 ESP32 及其外设供电(如果您有稳定的 5V 电源)。3V3引脚是板载稳压器的输出;您可以从中获得高达600mA的电流。GND是接地引脚。
启动引脚
EN 引脚是 ESP32 的使能引脚,默认拉高。当拉高时,芯片使能;当拉低时,芯片被禁用。
EN引脚还连接到一个按钮开关,该开关可以将引脚拉低并触发复位。