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

97 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ESP32-C3 GPIO 引脚映射
> **芯片:esp32-c3** | **类别:gpio** | **信源:** [Espressif 官方文档](https://docs.espressif.com)
## 系统引脚(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 方向相反
- **GPIO2**Pin=Pin5, 上电状态决定=VDD_SPI 电压, 正常启动需要=**LOW=3.3V**, 备注=**禁止接上拉!禁止做 I2C SDA**
- **GPIO8**Pin=Pin22, 上电状态决定=ROM 打印 + 下载模式, 正常启动需要=HIGH=关闭打印, LOW=下载, 备注=需上拉 3.3V**与 D0WD 相反**
- **GPIO9**Pin=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 冲突)