树莓派5的GPIO控制

一、树莓派GPIO有三种编码方式:

1、板载编码(Board pin numbering):

树莓派5的GPIO控制_第1张图片

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  [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

你可能感兴趣的:(树莓派开发,单片机,嵌入式硬件)