1. 电源相关引脚
VIN
使用USB供电的时候,可作为输出4.8v电压左右
可以代替USB供电,需要5v电压,可以焊接18650电池,为板子供电
3.3V
载稳压器输出,可为外部传感器供电(最大电流约500mA),最常用的为传感器供电
GND
接地引脚
2. GPIO(通用输入输出)
通用数字输入输出
GPIO0, GPIO2, GPIO4, GPIO5, GPIO12-19, GPIO21-23, GPIO25-27, GPIO32-33
仅输入模式GPIO
GPIO34, GPIO35, GPIO36, GPIO39
特殊功能GPIO
启动配置相关:
GPIO0:上电时低电平进入下载模式,需避免外部电路干扰。
GPIO2:启动时需保持高电平,否则可能无法启动。
GPIO12 (MTDI):启动时电平决定闪存电压(默认保持高电平)。
GPIO15 (MTDO):启动时需为高电平,否则可能卡住程序。
内部功能专用引脚:
GPIO6-11:连接内部SPI闪存,禁止用作普通IO。
电容触摸传感器:
支持引脚:GPIO0, 2, 4, 12-15, 27-33。
应用:触摸按键、接近检测。
RTC_GPIO:
支持引脚:GPIO0, 2, 4, 12-15, 25-27, 32-39。
模拟输入/输出
模拟输入(ADC)
ESP32内置两个ADC模块(ADC1 和 ADC2),用于将模拟电压信号转换为数字值。
注意:ADC2在Wi-Fi/BT启用时不可用!
ADC1
从GPIO32到GPIO39
ADC2
- GPIO0
- GPIO2
- GPIO4
- GPIO12
- GPIO13
- GPIO14
- GPIO15
- GPIO25
- GPIO26
- GPIO27
模拟输出(DAC)
ESP32支持2个8位分辨率的DAC(数模转换器),可直接输出模拟电压(0~3.3V)。
DAC1:在深度睡眠模式下无法保持输出(需要外部电路维持信号)
DAC2:与DAC1类似,但部分开发板可能因GPIO26的电源设计差异表现不同
- GPIO25 → DAC1
- GPIO26 → DAC2
通信接口
串口(UART)
功能:异步全双工通信,用于调试、烧录、与外设模块(如GPS、蓝牙模块)通信。
硬件UART数量:2个(UART0、UART1),可软件模拟更多。
默认引脚:
UART0:TX (GPIO1)、RX (GPIO3) —— 默认用于程序烧录和串口监视。
UART1:TX (GPIO10)、RX (GPIO9) —— RX (GPIO9) 可能被内部闪存占用(需谨慎使用)。
SPI(串行外设接口)
功能:高速全双工同步通信,适合连接显示屏、存储芯片(如SD卡)、传感器(如IMU)等。
应用场景:驱动OLED屏(如SSD1306)、读写SD卡、连接SPI Flash等。
VSPI(主SPI):
- MOSI: GPIO23
- MISO: GPIO19
- SCLK: GPIO18
- CS: GPIO5(可自定义)
HSPI(备用SPI):
- MOSI: GPIO13
- MISO: GPIO12
- SCLK: GPIO14
- CS: GPIO15(可自定义)
I²C(两线式串行总线)
功能:半双工同步通信,适合连接低速传感器(如温湿度传感器、RTC时钟)。
SDA: GPIO21(可自定义)
SCL: GPIO22(可自定义)
I²S(数字音频接口)
功能:专用于音频数据传输,支持麦克风、DAC/ADC音频芯片
应用场景:播放音频文件、连接数字麦克风
- BCK (位时钟): GPIO14
- WS (声道选择): GPIO15
- DO (数据输出): GPIO22
- DI (数据输入): GPIO21
CAN(控制器局域网)
功能:工业级差分信号通信,用于汽车电子、工业控制。
TX(发): GPIO16
RX(收): GPIO17
总结
连接传感器:I²C (SDA=21, SCL=22) + ADC (GPIO36)。
驱动显示屏:SPI (VSPI引脚) + GPIO16作为DC控制线。
音频播放:I²S + DAC (GPIO25/26) 输出模拟信号。
特殊功能引脚
电容触摸传感器:支持10个通道(GPIO0, 2, 4, 12-15, 27-33)。
PWM(LEDC):所有GPIO均可配置为PWM输出(16通道,14位分辨率)。
RTC_GPIO:部分GPIO(如GPIO0, 2, 4, 12-15, 25-27)支持深度睡眠唤醒。
霍尔效应传感器:内置,无需外部引脚。
系统控制引脚
EN:使能引脚,低电平复位芯片。
GPIO16/17:可用于唤醒深度睡眠模式(需配置为RTC_GPIO)。