Files

6.2 KiB
Raw Permalink Blame History

ESP32 GPIO 引脚映射

芯片:esp32 | 类别:gpio | 信源: Espressif 官方文档

系统引脚(System Pins

EN (CHIP_PU) [I, Pin 9 QFN48]
芯片使能。高电平=正常工作,低电平=芯片关闭(最小功耗)。
禁止浮空! 必须外部上拉到 VDD(典型 10kΩ)。
上电时序:VDD 稳定 >=50µs (t_STBL) 后 EN 拉高;EN 拉低 >=50µs (t_RST) 触发复位。
VDD [P]
芯片主供电 3.0-3.6V,推荐 3.3V,需 >=500mA。
VDD3P3_RTCRTC域)/ VDD3P3_CPUCPU IO域)/ VDD_SDIOFlash供电,1.8V或3.3V由GPIO12选择)。
GND [P]
所有 GND 焊盘必须全部连接到电源地平面。QFN48 底部 EPAD 也接 GND。
XTAL_P / XTAL_N [-]
40 MHz 外部高速晶振,XTAL_P=Pin45, XTAL_N=Pin46。不可复用为 GPIO。
晶振两端对地各接负载电容(典型 15-22pF)。
LNA_IN [I, Pin2]
射频天线输入端口。不可复用为 GPIO。
XTAL_32K_P / XTAL_32K_N [I/O]
32.768 kHz RTC 晶振(可选),XTAL_32K_P=GPIO32, XTAL_32K_N=GPIO33。
不使用 RTC 晶振时可做普通 GPIO。

ESP32 无原生 USB,烧录通过 UART0 (GPIO1=TX, GPIO3=RX)。芯片版本 v3.0/v3.1 为当前量产版本。

仅输入引脚(GPI

  • GPIO34:说明=仅输入,无内部上拉/下拉
  • GPIO35:说明=仅输入,无内部上拉/下拉
  • GPIO36 (SENSOR_VP):说明=仅输入,无内部上拉/下拉
  • GPIO39 (SENSOR_VN):说明=仅输入,无内部上拉/下拉

GPIO37(SENSOR_CAPP) 和 GPIO38(SENSOR_CAPN) 也是仅输入,但 WROOM-32 模组未引出。

Flash/PSRAM 占用引脚(不可复用)

  • GPIO6:功能=SD_CLK / SPICLK, 说明=连接内部 Flash
  • GPIO7:功能=SD_DATA0 / SPIQ, 说明=连接内部 Flash
  • GPIO8:功能=SD_DATA1 / SPID, 说明=连接内部 Flash
  • GPIO9:功能=SD_DATA2 / SPIHD, 说明=连接内部 Flash
  • GPIO10:功能=SD_DATA3 / SPIWP, 说明=连接内部 Flash
  • GPIO11:功能=SD_CMD / SPICS0, 说明=连接内部 Flash
  • GPIO16:功能=SPICS1 / PSRAM_CS, 说明=PSRAM 片选(WROVER
  • GPIO17:功能=SPID / PSRAM_DATA, 说明=PSRAM 数据(WROVER

Strapping 引脚

  • GPIO0:引脚名=Boot, 上电默认=Pull-Up (1), 功能=LOW=下载模式, HIGH=正常启动, 使用限制=不能在上电时被外部拉低
  • GPIO2:引脚名=Boot, 上电默认=Pull-Down (0), 功能=与 GPIO0 联合决定启动模式, 使用限制=上电时需浮空或低
  • GPIO5:引脚名=SDIO Slave, 上电默认=Pull-Up (1), 功能=SDIO 从机时序控制, 使用限制=上电时必须保持高
  • GPIO12 (MTDI):引脚名=VDD_SDIO, 上电默认=Pull-Down (0), 功能=0=3.3V, 1=1.8V Flash电压, 使用限制=禁止上拉!会烧Flash
  • GPIO15 (MTDO):引脚名=Boot, 上电默认=Pull-Up (1), 功能=0=静默启动, 1=U0TXD打印日志, 使用限制=上电时需为高

启动模式

  • SPI Boot(正常启动):GPIO0=1, GPIO2=任意
  • Download Boot(烧录):GPIO0=0, GPIO2=0

ADC 完整映射

ADC1WiFi 可用,8通道)

  • ADC1_CH0GPIO=GPIO36 (SENSOR_VP), 类型=仅输入
  • ADC1_CH1GPIO=GPIO37, 类型=仅输入(WROOM 未引出)
  • ADC1_CH2GPIO=GPIO38, 类型=仅输入(WROOM 未引出)
  • ADC1_CH3GPIO=GPIO39 (SENSOR_VN), 类型=仅输入
  • ADC1_CH4GPIO=GPIO32, 类型=I/O
  • ADC1_CH5GPIO=GPIO33, 类型=I/O
  • ADC1_CH6GPIO=GPIO34, 类型=仅输入
  • ADC1_CH7GPIO=GPIO35, 类型=仅输入

ADC2WiFi 不可用,10通道)

  • ADC2_CH0GPIO=GPIO4
  • ADC2_CH1GPIO=GPIO0, 备注= Strapping
  • ADC2_CH2GPIO=GPIO2, 备注= Strapping
  • ADC2_CH3GPIO=GPIO15, 备注= Strapping (MTDO)
  • ADC2_CH4GPIO=GPIO13, 备注=JTAG
  • ADC2_CH5GPIO=GPIO12, 备注= Strapping (MTDI) + JTAG
  • ADC2_CH6GPIO=GPIO14, 备注=JTAG
  • ADC2_CH7GPIO=GPIO27
  • ADC2_CH8GPIO=GPIO25, 备注=DAC_CH1
  • ADC2_CH9GPIO=GPIO26, 备注=DAC_CH2

⚠️ ADC2 与 WiFi 冲突:使用 WiFi 时 ADC2 完全不可用,只能用 ADC1

DAC

  • DAC_CH1GPIO=GPIO25, 分辨率=8-bit
  • DAC_CH2GPIO=GPIO26, 分辨率=8-bit

完整 GPIO 功能表

  • 0I/O=I/O, ADC=ADC2_CH1, Touch=Touch1, RTC=RTC_GPIO11, 备注= Strapping
  • 1I/O=I/O, 备注=U0TXD(默认)
  • 2I/O=I/O, ADC=ADC2_CH2, Touch=Touch2, RTC=RTC_GPIO12, 备注= Strapping
  • 3I/O=I/O, 备注=U0RXD(默认)
  • 4I/O=I/O, ADC=ADC2_CH0, Touch=Touch0, RTC=RTC_GPIO10, 备注=常用 1-Wire
  • 5I/O=I/O, 备注= Strapping
  • 611:备注=🔒 Flash 占用
  • 12I/O=I/O, ADC=ADC2_CH5, Touch=Touch5, RTC=RTC_GPIO15, 备注= 禁止上拉
  • 13I/O=I/O, ADC=ADC2_CH4, Touch=Touch4, RTC=RTC_GPIO14, 备注=JTAG MTCK
  • 14I/O=I/O, ADC=ADC2_CH6, Touch=Touch6, RTC=RTC_GPIO16, 备注=JTAG MTMS
  • 15I/O=I/O, ADC=ADC2_CH3, Touch=Touch3, RTC=RTC_GPIO13, 备注= Strapping
  • 16I/O=I/O, 备注=🔒 PSRAMWROVER
  • 17I/O=I/O, 备注=🔒 PSRAMWROVER
  • 18I/O=I/O, 备注=VSPI CLK
  • 19I/O=I/O, 备注=VSPI MISO
  • 21I/O=I/O, 备注=I2C SDA 默认
  • 22I/O=I/O, 备注=I2C SCL 默认
  • 23I/O=I/O, 备注=VSPI MOSI
  • 25I/O=I/O, ADC=ADC2_CH8, DAC=DAC1, RTC=RTC_GPIO6
  • 26I/O=I/O, ADC=ADC2_CH9, DAC=DAC2, RTC=RTC_GPIO7
  • 27I/O=I/O, ADC=ADC2_CH7, Touch=Touch7, RTC=RTC_GPIO17
  • 32I/O=I/O, ADC=ADC1_CH4, Touch=Touch9, RTC=RTC_GPIO9, 备注=32K_XP, ADC1
  • 33I/O=I/O, ADC=ADC1_CH5, Touch=Touch8, RTC=RTC_GPIO8, 备注=32K_XN, ADC1
  • 34I/O=仅输入, ADC=ADC1_CH6, RTC=RTC_GPIO4, 备注=无内部上下拉
  • 35I/O=仅输入, ADC=ADC1_CH7, RTC=RTC_GPIO5, 备注=无内部上下拉
  • 36I/O=仅输入, ADC=ADC1_CH0, RTC=RTC_GPIO0, 备注=SENSOR_VP
  • 39I/O=仅输入, ADC=ADC1_CH3, RTC=RTC_GPIO3, 备注=SENSOR_VN

= Strapping | 🔒 = Flash/PSRAM | 仅输入 = 不能做输出

常用外设默认引脚

  • UART0 TX/RX:默认引脚=GPIO1 / GPIO3
  • VSPI CLK/MISO/MOSI/CS:默认引脚=GPIO18 / GPIO19 / GPIO23 / GPIO5
  • HSPI CLK/MISO/MOSI/CS:默认引脚=GPIO14 / GPIO12 / GPIO13 / GPIO15
  • I2C0 SDA/SCL:默认引脚=GPIO21 / GPIO22
  • JTAG TMS/TCK/TDI/TDO:默认引脚=GPIO14 / GPIO13 / GPIO12 / GPIO15

新手安全 GPIO

GPIO4, 13, 14, 18, 19, 21, 22, 23, 25, 26, 27, 32, 33