树莓派GPIO的编号规范

20130910134534601-0
树莓派和普通电脑不一样的地方在于它还带了17个可编程的GPIO(General Purpose Input/Output),可以用来驱动各种外设(如传感器,步进电机等)。但GPIO的编号方法有些混乱,不同的API(如wiringPi,RPi.GPIO等)对GPIO的端口号编号并不一样,下面则用图表标明了对应的叫法,这样在看程序例子的时候可以确定物理是哪个接口。

GPIO库

wiringPi C,有Perl, PHP, Ruby, Node.JS和Golang的扩展,支持wiringPi Pin和BCM GPIO两种编号
RPi.GPIO Python,支持Board Pin和BCM GPIO两种编号
Webiopi,Python, 使用BCM GPIO编号
WiringPi-Go, Go语言,支持以上三种编号

编号规范

第一列是wiringPi API中的缺省编号,wiringPiSetup()采用这列编号
第二列(Name)往往是转接板的编号
第三列是树莓派板子上的自然编号(左边引脚为1-15,右边引脚为2-26),RPi.GPIO.setmode(GPIO.BOARD)采用这列编号
树莓派主芯片提供商Broadcom的编号方法,相当于调用了WiringPiSetupGpio()RPi.GPIO.setmode(GPIO.BCM)采用这列编号

wiringPi Pin
Name
Board Pin
BCM GPIO

1
GPIO 1
12
18

2
GPIO 2
13
21

3
GPIO 3
15
22

4
GPIO 4
16
23

5
GPIO 5
18
24

6
GPIO 6
22
25

7
GPIO 7
7
4

8
SDA
3

9
SCL
5
1

10
CE0
24
8

11
CE1
26
7

12
MOSI
19
10

13
MISO
21
9

14
SCLK
23
11

15
TXD
8
14

16
RXD
10
15

Rev.2 新增的引脚:

wiringPi Pin
Name
Board Pin
BCM GPIO

17
GPIO 8

28

18
GPIO 9

29

19
GPIO10

30

20
GPIO11

31

gpio-table

标签: 树莓派教程