一、树莓派GPIO有三种编码方式:
1、板载编码(Board pin numbering):
2、BCM编码(Broadcom SOC channel):
按照树莓派的芯片(Broadcom SOC)上的GPIO通道编号来引用引脚
3、wiringPi编码:
wiringPi是一个流行的树莓派GPIO编程库
二、树莓派5实践命令行控制
1、对于树莓派5而言,我亲身实践网上很多的命令行输入都不能控制。
比如:
gpio readall
输入进去就没有任何的反应,更不用提控制某个管脚进行某些操作了。
但是板载编码的指令还是好使的:
比如:
pinout
2、如果想要用命令行去操作控制gpio直接控制管脚状态,可以使用“pinctrl”工具,前提是先在树莓派安装该工具。
sudo pinctrl --help
这行代码可以帮助你如何使用该工具,里面都是一些简单的英文,可以自行阅读。
简单列举几个命令行指令:
(1)获取 GPIO 状态: 要获取特定 GPIO 或所有 GPIO 的状态,使用:
sudo pinctrl get [GPIO]
替换 [GPIO] 为你要检查的具体 GPIO 编号。如果不指定 [GPIO],则会显示所有 GPIO 的状态
(2)设置 GPIO 配置: 要设置 GPIO 的功能、上拉/下拉电阻或值,使用:
sudo pinctrl set <GPIO> [options]
(3)轮询 GPIO 状态: 要持续轮询某个 GPIO 的状态,使用:
sudo pinctrl poll [GPIO]
替换 [GPIO] 为你要监控的 GPIO 编号。
(4)列出 GPIO 功能: 要列出某个 GPIO 的可用功能,使用:
sudo pinctrl funcs [GPIO]
3、运用“pinctrl”工具简单的点亮一个小灯例子:
sudo pinctrl set 20 op pn dh
20
: GPIO 引脚号op
: 设置引脚为输出模式pn
: 设置引脚无上下拉电阻(pull-none
)dh
: 将引脚设置为高电平(drive-high
)