最近更新于 2023-10-03 13:57

简介

WiringPi 项目:https://github.com/WiringPi

WiringPi 是用来控制树莓派 GPIO 的,提供的函数名和 Arduino IDE 类似,非常便于 GPIO 的开发。
之前看原作者的声明,因为有人采用它这个项目但是没有遵循开源协议,所以不再维护删库了,现在这个应该是社区维护的。而且有多个语言版本,我只用过 C 和 Python 版的,除了语言相关的不一样,函数名和参数都是一样的。
file

命令行工具

我一般是使用 C 语言版,安装之后,除了支持开发也可以使用命令控制(可以写 shell 脚本)
比如查看接口映射(这个命令本身是用于查看所有引脚的电平状态的)

gpio readall

file

根据上面的表有 3 种引脚编号方式:

  • BCM:这个是对应树莓派芯片上的 GPIO 编号,使用命令时参数加 -g
  • wPi:这个是 WiringPi 定义的编号,也是默认的编号方式
  • Physical:这个是是按照引脚排列顺序的编号,使用时参数加 -1(数字 1)

一般使用 BCM 方式比较多,这里演示我也就使用 BCM。
比如我要设置 26 引脚输出的电平状态,首先设置引脚为输出模式

gpio -g mode 26 out

再设置电平

# 高电平
gpio -g write 26 1
# 低电平
gpio -g write 26 0

如果要读取引脚状态,先设置为读取模式

gpio -g mode 26 in

上拉电阻

gpio -g mode 26 up

下拉电阻

gpio -g mode 26 down

读取

gpio -g read 26

注:树莓派种高电平输出为 3.3V,低电平为 0V。读取一般来说,1.6-3.3V 为高电平,0-0.9V 为低电平,中间的存在不确定性。