ESP32 UART 引脚与串口指南 · UART0/1/2 默认脚位与下载冲突

ESP32 三个串口各自默认接哪两个脚、为什么 UART1 用不了、下载失败时该检查什么。

三个串口

串口默认 TX默认 RX典型用途
UART0GPIO1GPIO3烧录 + 默认日志输出,尽量不要占用
UART1GPIO10GPIO9默认脚被 Flash 占用,实际必须重映射
UART2GPIO17GPIO16接 GPS、串口屏、RS485 等外部模块

为什么 UART1「用不了」

UART1 的默认脚是 GPIO9 和 GPIO10——而这两个脚在绝大多数 ESP32 模组上被用来连接内部 SPI Flash。所以你一初始化 UART1,Flash 读写就出问题,芯片直接崩。

解决办法:用 uart_set_pin() 把 UART1 重映射到任意空闲脚,例如 TX=GPIO18、RX=GPIO19。这是唯一靠谱的做法。

下载失败时先查这几个脚

实用建议

本文默认是 ESP32 经典款。其余型号的 UART 数量与默认脚位不同(例如 C3 只有 2 个 UART),请以对应型号的官方文档为准。
数据核验:2026-10-20 · 以 Espressif 官方文档交叉核对。随型号或 ESP-IDF 版本变化的字段一律标注「以官方文档为准」,不编造具体数值。 官方外设文档 →

相关页面