Files
esp32-dev/gpio/esp32-c3_gpio.md

4.2 KiB
Raw Permalink Blame History

ESP32-C3 GPIO 引脚映射

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

系统引脚(System Pins

EN (CHIP_PU) [I, Pin 2 QFN32 / WROOM-02 模组 Pin2]
芯片使能。高电平=正常工作,低电平=芯片关闭。
禁止浮空! 必须外部上拉到 VDD(典型 10kΩ)。
上电时序:VDD 稳定 >=50µs (t_STBL) 后 EN 拉高;EN 拉低 >=50µs (t_RST) 触发复位。
VDD [P]
芯片主供电 3.0-3.6V,推荐 3.3V,需 >=500mA。
VDD3P3_CPU(数字 GPIO 域)/ VDD3P3_RTCRTC 域)/ VDD_SPIFlash 供电域)。
内部数字 LDO 输出 1.1V 供数字核心,RTC LDO 输出 1.1V 供 RTC 域。
GND [P]
所有 GND 焊盘必须全部连接到电源地平面。
XTAL_P / XTAL_N [-]
40 MHz 外部高速晶振。不可复用为 GPIO。
晶振两端对地各接负载电容(典型 15-22pF,具体值见晶振 datasheet)。
LNA_IN [I]
射频天线输入端口(WiFi 4 + BLE 5.0)。不可复用为 GPIO。
USB_D- / USB_D+ [I/O, GPIO18 (Pin13 模组) / GPIO19 (Pin14 模组)]
USB Serial/JTAG。默认上电即启用 USB 上拉电阻。
用作普通 GPIO 需固件重配 IO MUX,重配后 USB 功能失效只能通过 UART0 (GPIO20/21) 烧录。

C3 无 DAC、无触摸传感器、无 ULP 协处理器、无以太网 MAC。GPIO12-17 被 Flash 占用。RTC Deep-sleep 唤醒仅 GPIO0-5。

驱动电流

  • GPIO18, GPIO19:默认 40 mA — USB/JTAG 引脚,增强驱动能力
  • 其他所有 GPIO:默认 20 mA — 标准驱动能力

上电时序

  • t_STBL>= 50 µs — VDD 稳定后到 EN 拉高之间的最短等待时间
  • t_RST>= 50 µs — EN 拉低以触发硬件复位的最短保持时间
  • t_H>= 3 ms — EN 拉高后 Strapping 引脚值被锁存的时间,此后 Strapping 引脚恢复普通 GPIO 功能

EN (CHIP_PU) 引脚绝对不能浮空,必须通过外部上拉电阻(典型 10kΩ)连接到 VDD。

Strapping 引脚(3个)⚠️ 与 D0WD 方向相反

  • GPIO2Pin=Pin5, 上电状态决定=VDD_SPI 电压, 正常启动需要=LOW=3.3V, 备注=禁止接上拉!禁止做 I2C SDA
  • GPIO8Pin=Pin22, 上电状态决定=ROM 打印 + 下载模式, 正常启动需要=HIGH=关闭打印, LOW=下载, 备注=需上拉 3.3V与 D0WD 相反
  • GPIO9Pin=Pin23, 上电状态决定=启动模式, 正常启动需要=HIGH=SPI Boot, 备注=需上拉 + BOOT 键

⚠️ 铁律:C3 的 GPIO2/8/9 三根 Strapping 引脚,设计初期就必须标红。GPIO2 绝对不能接任何有上拉的信号线。

ADC 映射

ADC15chWiFi 可用)

  • ADC1_CH0GPIO=GPIO0
  • ADC1_CH1GPIO=GPIO1
  • ADC1_CH2GPIO=GPIO2, 备注= Strapping
  • ADC1_CH3GPIO=GPIO3
  • ADC1_CH4GPIO=GPIO4

ADC21ch

  • ADC2_CH0GPIO=GPIO5

12-bit SAR,最高 100 Ksps。C3 无 ADC2/WiFi 冲突RISC-V 架构已修复)。

USB Serial/JTAG

  • USB_D-GPIO=GPIO18, 说明=默认 USB,切 GPIO 需固件配置
  • USB_D+GPIO=GPIO19, 说明=默认 USB,切 GPIO 需固件配置

所有 GPIO 功能表

  • 0ADC=ADC1_CH0, RTC 唤醒=Deep-sleep, 复用=XTAL_32K_P
  • 1ADC=ADC1_CH1, RTC 唤醒=Deep-sleep, 复用=XTAL_32K_N
  • 2ADC=ADC1_CH2, RTC 唤醒=Deep-sleep, 复用=FSPIQ, Strapping= VDD_SPI, 备注=禁止上拉!
  • 3ADC=ADC1_CH3, RTC 唤醒=Deep-sleep, 复用=JTAG_MTMS
  • 4ADC=ADC1_CH4, RTC 唤醒=Deep-sleep, 复用=JTAG_MTCK
  • 5ADC=ADC2_CH0, RTC 唤醒=Deep-sleep, 复用=JTAG_MTDI
  • 6RTC 唤醒=Light-sleep, 复用=FSPICLK
  • 7RTC 唤醒=Light-sleep, 复用=FSPID
  • 8RTC 唤醒=Light-sleep, 复用=FSPICS0, Strapping= 启动+日志, 备注=高电平=进下载
  • 9RTC 唤醒=Light-sleep, 复用=FSPIHD, Strapping= Boot Mode
  • 10RTC 唤醒=Light-sleep, 复用=FSPIWP/FSPICS1
  • 11RTC 唤醒=Light-sleep, 复用=VDD_SPI
  • 1217:复用=FSPI, 备注=🔒 Flash 占用
  • 18:复用=USB_D-, 备注=⚠️ USB 占
  • 19:复用=USB_D+, 备注=⚠️ USB 占
  • 20:复用=U0RXD
  • 21:复用=U0TXD

新手安全 GPIO

GPIO0, GPIO1, GPIO4, GPIO5, GPIO10(避开 Strapping/USB/Flash 冲突)