树莓派GPIO引脚
- 树莓派
- 2025-10-20
- 34热度
- 0评论
树莓派 40 针 GPIO 引脚图

树莓派 40 针 GPIO 引脚功能速查
| 功能描述 | BCM编号(GPIO) | 物理编号 | 物理编号 | BCM编号(GPIO) | 功能描述 |
|---|---|---|---|---|---|
| 3.3V 电源 | - | 1 | 2 | - | 5V 电源 |
| GPIO2(I2C1 SDA,默认复用) | BCM2 | 3 | 4 | - | 5V 电源 |
| GPIO3(I2C1 SCL,默认复用) | BCM3 | 5 | 6 | - | GND(地) |
| GPIO4 | BCM4 | 7 | 8 | BCM14 | GPIO14(UART TXD,默认复用) |
| GND(地) | - | 9 | 10 | BCM15 | GPIO15(UART RXD,默认复用) |
| GPIO17 | BCM17 | 11 | 12 | BCM18 | GPIO18(PWM0,默认复用) |
| GPIO27 | BCM27 | 13 | 14 | - | GND(地) |
| GPIO22 | BCM22 | 15 | 16 | BCM23 | GPIO23 |
| 3.3V 电源 | - | 17 | 18 | BCM24 | GPIO24 |
| GPIO10(SPI0 MOSI,默认复用) | BCM10 | 19 | 20 | - | GND(地) |
| GPIO9(SPI0 MISO,默认复用) | BCM9 | 21 | 22 | BCM25 | GPIO25 |
| GPIO11(SPI0 SCLK,默认复用) | BCM11 | 23 | 24 | BCM8 | GPIO8(SPI0 CE0,默认复用) |
| GND(地) | - | 25 | 26 | BCM7 | GPIO7(SPI0 CE1,默认复用) |
| GPIO0(I2C0 ID_SD,默认复用) | BCM0 | 27 | 28 | BCM1 | GPIO1(I2C0 ID_SC,默认复用) |
| GPIO5 | BCM5 | 29 | 30 | - | GND(地) |
| GPIO6 | BCM6 | 31 | 32 | BCM12 | GPIO12(PWM0,默认复用) |
| GPIO13(PWM1,默认复用) | BCM13 | 33 | 34 | - | GND(地) |
| GPIO19(SPI1 MISO,默认复用) | BCM19 | 35 | 36 | BCM16 | GPIO16 |
| GPIO26 | BCM26 | 37 | 38 | BCM20 | GPIO20(SPI1 MOSI,默认复用) |
| GND(地) | - | 39 | 40 | BCM21 | GPIO21(SPI1 SCLK,默认复用) |
物理引脚(PIN)、BCM 编号、Wiring Pi 编号
树莓派的物理引脚、BCM编号和Wiring Pi编号是操作GPIO(通用输入输出)时的核心概念,三者的区别和联系如下:
| 编号方式 | 特点 | 适用场景 | 示例(物理引脚11) |
|---|---|---|---|
| 物理引脚(PIN) | 直接对应主板上的针脚位置 | 硬件接线 | 11 |
| BCM编号 | 基于芯片寄存器,跨型号统一 | 底层开发、官方库(如RPi.GPIO) | GPIO17 |
| Wiring Pi编号 | 简化编程,独立编号系统 | 旧项目、快速测试 | GPIO0 |
一、物理引脚(板载引脚)
物理引脚是树莓派主板上实际存在的40个金属针脚,按从左到右、从上到下的顺序依次编号为1至40。其中:
- 奇数引脚(如1、3、5)位于左侧,偶数引脚(如2、4、6)位于右侧;
- 固定功能引脚包括:
- 2个5V电源引脚(物理引脚2、4);
- 2个3.3V电源引脚(物理引脚1、17);
- 8个接地引脚(GND,如6、9、14等)。
- GPIO引脚(可配置为输入/输出)分布在其余位置,例如物理引脚11对应GPIO17,物理引脚12对应GPIO18。
物理引脚编号是最直观的标识方式,适合硬件连接时快速定位,但不同型号树莓派的物理引脚布局完全兼容(如Pi 4B与Pi Zero W均为40针)。
二、BCM编号(Broadcom编号)
BCM编号是Broadcom芯片(如BCM2835、BCM2711)内部GPIO控制器的寄存器编号,直接反映芯片的硬件设计。例如:
- GPIO17对应物理引脚11,GPIO18对应物理引脚12;
- GPIO0和GPIO1(物理引脚27、28)通常保留给I2C等特殊功能,普通用户很少使用。
BCM编号的特点包括:
- 跨型号一致性:同一BCM编号在不同树莓派型号中功能相同(如GPIO17始终是通用输入输出);
- 寄存器直接映射:通过操作BCM2835的
GPFSEL、GPSET等寄存器可直接控制GPIO状态; - 软件兼容性:Python的
RPi.GPIO库和C的libgpiod库默认使用BCM编号。
三、Wiring Pi编号
Wiring Pi编号是由Wiring Pi库定义的独立编号系统,设计初衷是简化编程时的引脚管理。其规则如下:
- 板载GPIO:编号从0开始(如GPIO0对应BCM17,物理引脚11);
- 扩展GPIO:编号大于64,用于连接MCP23017等外部扩展芯片;
- 非连续编号:例如wPi编号16之后直接跳到21,中间预留了特殊功能引脚。
Wiring Pi编号的优缺点:
- 优点:代码中使用更小的数字(如0-29),适合快速原型开发;
- 缺点:与BCM编号无直接对应关系,需查表转换(如通过
gpio readall命令查看映射); - 过时性:Wiring Pi库自2019年起停止维护,官方推荐改用
pigpio或RPi.GPIO。
四、转换工具*
- 在树莓派终端执行
gpio readall命令,可查看三种编号的对应关系(需先安装Wiring Pi); - 官方推荐使用
pinout命令(需安装gpiozero库),以图形化方式显示BCM编号和物理引脚。