6.2 KiB
6.2 KiB
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_RTC(RTC域)/ VDD3P3_CPU(CPU IO域)/ VDD_SDIO(Flash供电,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 完整映射
ADC1(WiFi 可用,8通道)
- ADC1_CH0:GPIO=GPIO36 (SENSOR_VP), 类型=仅输入
- ADC1_CH1:GPIO=GPIO37, 类型=仅输入(WROOM 未引出)
- ADC1_CH2:GPIO=GPIO38, 类型=仅输入(WROOM 未引出)
- ADC1_CH3:GPIO=GPIO39 (SENSOR_VN), 类型=仅输入
- ADC1_CH4:GPIO=GPIO32, 类型=I/O
- ADC1_CH5:GPIO=GPIO33, 类型=I/O
- ADC1_CH6:GPIO=GPIO34, 类型=仅输入
- ADC1_CH7:GPIO=GPIO35, 类型=仅输入
ADC2(WiFi 不可用,10通道)
- ADC2_CH0:GPIO=GPIO4
- ADC2_CH1:GPIO=GPIO0, 备注=⚡ Strapping
- ADC2_CH2:GPIO=GPIO2, 备注=⚡ Strapping
- ADC2_CH3:GPIO=GPIO15, 备注=⚡ Strapping (MTDO)
- ADC2_CH4:GPIO=GPIO13, 备注=JTAG
- ADC2_CH5:GPIO=GPIO12, 备注=⚡ Strapping (MTDI) + JTAG
- ADC2_CH6:GPIO=GPIO14, 备注=JTAG
- ADC2_CH7:GPIO=GPIO27
- ADC2_CH8:GPIO=GPIO25, 备注=DAC_CH1
- ADC2_CH9:GPIO=GPIO26, 备注=DAC_CH2
⚠️ ADC2 与 WiFi 冲突:使用 WiFi 时 ADC2 完全不可用,只能用 ADC1
DAC
- DAC_CH1:GPIO=GPIO25, 分辨率=8-bit
- DAC_CH2:GPIO=GPIO26, 分辨率=8-bit
完整 GPIO 功能表
- 0:I/O=I/O, ADC=ADC2_CH1, Touch=Touch1, RTC=RTC_GPIO11, 备注=⚡ Strapping
- 1:I/O=I/O, 备注=U0TXD(默认)
- 2:I/O=I/O, ADC=ADC2_CH2, Touch=Touch2, RTC=RTC_GPIO12, 备注=⚡ Strapping
- 3:I/O=I/O, 备注=U0RXD(默认)
- 4:I/O=I/O, ADC=ADC2_CH0, Touch=Touch0, RTC=RTC_GPIO10, 备注=常用 1-Wire
- 5:I/O=I/O, 备注=⚡ Strapping
- 6–11:备注=🔒 Flash 占用
- 12:I/O=I/O, ADC=ADC2_CH5, Touch=Touch5, RTC=RTC_GPIO15, 备注=⚡ 禁止上拉
- 13:I/O=I/O, ADC=ADC2_CH4, Touch=Touch4, RTC=RTC_GPIO14, 备注=JTAG MTCK
- 14:I/O=I/O, ADC=ADC2_CH6, Touch=Touch6, RTC=RTC_GPIO16, 备注=JTAG MTMS
- 15:I/O=I/O, ADC=ADC2_CH3, Touch=Touch3, RTC=RTC_GPIO13, 备注=⚡ Strapping
- 16:I/O=I/O, 备注=🔒 PSRAM(WROVER)
- 17:I/O=I/O, 备注=🔒 PSRAM(WROVER)
- 18:I/O=I/O, 备注=VSPI CLK
- 19:I/O=I/O, 备注=VSPI MISO
- 21:I/O=I/O, 备注=I2C SDA 默认
- 22:I/O=I/O, 备注=I2C SCL 默认
- 23:I/O=I/O, 备注=VSPI MOSI
- 25:I/O=I/O, ADC=ADC2_CH8, DAC=DAC1, RTC=RTC_GPIO6
- 26:I/O=I/O, ADC=ADC2_CH9, DAC=DAC2, RTC=RTC_GPIO7
- 27:I/O=I/O, ADC=ADC2_CH7, Touch=Touch7, RTC=RTC_GPIO17
- 32:I/O=I/O, ADC=ADC1_CH4, Touch=Touch9, RTC=RTC_GPIO9, 备注=32K_XP, ADC1
- 33:I/O=I/O, ADC=ADC1_CH5, Touch=Touch8, RTC=RTC_GPIO8, 备注=32K_XN, ADC1
- 34:I/O=仅输入, ADC=ADC1_CH6, RTC=RTC_GPIO4, 备注=无内部上下拉
- 35:I/O=仅输入, ADC=ADC1_CH7, RTC=RTC_GPIO5, 备注=无内部上下拉
- 36:I/O=仅输入, ADC=ADC1_CH0, RTC=RTC_GPIO0, 备注=SENSOR_VP
- 39:I/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