树莓派GPIO编码详解

885 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第25天,点击查看活动详情

定义

GPIO 是一组引脚

在最基本的层面上,GPIO 是指计算机主板或附加卡上的一组引脚。这些引脚可以发送或接收电信号,但它们不是为任何特定目的而设计的。这就是为什么它们被称为“通用”IO。

这与USB或DVI等常见端口标准不同。使用这些电缆,连接内部的每个引脚都有指定的用途,由制定标准的管理机构确定。

GPIO 让您负责每个引脚的实际功能。尽管 GPIO 阵列上仍有不同类型的引脚。

必不可少的端口图:

网上这张图一搜一大把,但是对于图上的编号、都是什么意思,改用什么编号没有详细的解释,下面就详细解释一下怎么看:

1.png

物理针脚(BOARD编码):

2.png

上图为物理针脚编号,表示的是树莓派针脚的物理编号。树莓派3b一共有40个针脚,如下图:

3.png NAME列: name就是表示这个针脚是干什么的,有什么作用 ,有Power、Ground、GPIO这几种类型。 Power:用来供电 Ground:接地线(具体含义待补充),连接元器件的GND,开发板上有好几个,随便插。 **GPIO:**意思为通用输入/输出端口,通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平。name上的GPIO也有编号,我在写代码误以为是根据这个编号来操作元件,大家要注意。具体应该用什么会在下面详细解释。 BCM,wiringPi,对应树莓派编码:

树莓派一共有三种编码方式,分别是:BCM,wiringPi,BOARD,使用这三种编码都可以控制连接在对应GPIO上的元件。我们在代码中写的编号也要取这三列对应的编号,这地方我这种小白就纠结了很久,不知道这么多编号该选哪个。

BOARD编码和BCM一般都在python库中使用,wiringPi一般用于C++等平台,具体选哪个要根据使用的第三方库来判断!