esp32 引脚详解

esp32 引脚详解
开发版

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)。

bigcong