跳至内容
本页目录

引脚号、GPIO 号与引脚功能——三件不同的事

本页回答的问题:“引脚表写 J3-10,代码写 GPIO38,丝印写 FSPIWP——这是同一根针吗?”

三套编号,三个问题

体系回答属于
排针位置(J3 触点 10)“物理上在哪?”板卡及其布局
GPIO 编号(GPIO38)“芯片的哪条 I/O 线?”芯片,经板卡布线引出
功能/丝印名(FSPIWP、U0TXD、GP25-LED)“接着什么/适合干什么?”芯片复用功能+板卡接线

MCUID 板卡页上每个引脚链接都同时携带三者:SVG 引脚块是排针位置,claim 行点名 GPIO,功能列列出官方复用功能。

修订课:同一器件,换了 GPIO

最清晰的例子是 ESP32-S3-DevKitC-1 的 RGB LED:v1.0 由 GPIO48 驱动(J3 触点 16),v1.1 由 GPIO38 驱动(J3 触点 10)。板卡布局几乎没变——一次修订重新布线了驱动同一个 LED 的 GPIO。所以"LED 引脚"在你说出修订之前不是事实。见板载 LED 为什么在 GPIO38 或 GPIO48。

丝印课:功能名不是 GPIO 号

  • 在 ESP32-DevKitC 上,标着 D0、D1、D2、D3、CMD、CLK 的引脚是 SPI flash 线——这些名字描述一个永不消失的内部功能,所有变体都一样。
  • 在 Pico 上,GP25 既是"GPIO 25"也是"用户 LED"——是板卡接线让这一脚特殊;芯片并不知道 LED 的存在。

软件默认课

“Pico 的 UART0 在 GP0/GP1"来自 pico-sdk 板级头文件——这是软件约定。可以改,但只能改到该外设的其他合法复用脚(RP2040 IO bank 里 UART0 的 TX/RX 另在 GP12/13 和 GP16/17——不在 GP7);硬件事实是每个外设存在于哪些复用脚,默认值是 SDK 板级配置恰好选的。Pico 2 的 pico2.h 板头在 RP2350 上选了同样的 UART0/I2C0 默认——默认仍只是默认;RP2350 自己的合法复用集是数据手册事实,RP2040 的表覆盖不了它。ESP32 的 U0TXD/U0RXD 同理:芯片默认把 UART0 路由到固定引脚(DevKitC-1 排针表中的 GPIO43/44),IO 矩阵可重映射大多数功能。

本页不能告诉你的

  • 每颗芯片的完整复用功能表——归芯片数据手册所有;MCUID 按板卡发布排针表,功能列逐条引自官方文档。
  • 克隆板可能在相同位置印不同的丝印名——用板卡自己的文档核对,别套参考板的。

来源