wiringPi 是一个强大而灵活的C语言库,为树莓派和其他基于 Linux 的系统提供了简化的GPIO访问接口,并支持各种功能,使得物理计算和硬件交互变得更加便捷。
wiringPi库的主要特点:
1、简化的GPIO访问:wiringPi 提供了简单而直观的功能,允许开发者轻松地配置和使用树莓派的GPIO引脚。通过几个简单的函数调用,可以设置引脚模式(输入/输出)、读取和写入引脚状态,以及处理中断。
2、跨平台支持:wiringPi 不仅仅适用于树莓派,它还可跨平台运行在其他基于 Linux 的系统上。这使得你可以在其他支持 wiringPi 的硬件上使用相同的代码,轻松移植项目。
3、底层访问:wiringPi 使用底层的 BCM2835 芯片库,提供对树莓派 GPIO 的低级别访问。这使得它能够实现更高精度的计时和更快的响应速度。
4、支持丰富的功能:wiringPi 不仅支持基本的GPIO操作,还提供了其他功能,如软件PWM(脉冲宽度调制)、软件I2C、软件SPI、中断处理等。这些功能使开发者能够更方便地与各种外设进行通信。
验证是否有该库:在CLI中输入下面命令,若输出wiringPi相关信息则说明已有该库
好
gpio -v
若显示command not found 说明并未安装,安装方法如下:
1.第一步,先新建一个存放wiringPi源码的文件夹,这里我们命名为work
mkdir work
依次输入下面四条命令,1.先进入work文件夹,2.获取wiringPi源码,3.再进入wiringPi文件夹,4.执行安装指令
cd work/ git clone https://github.com/WiringPi/WiringPi.git cd WiringPi/ ./build
安装完成后,用下面命令检查下是否成功
5.查看WirinPi的版本信息命令
gpio -v
6.查看树莓派GPIO引脚信息命令
gpio readall
1.功能名为板载GPIO编码,其中Python开发使用的就是GPIO编码。
2.如果使用C语言开发则是wiringPi编码,若在gpio后加上-g,则表示用的是BCM编码)
接线方式:将LED的正极接GPIO18,负极接GND。执行代码如下:
import RPi.GPIO as GPIO #导入树莓派提供的python模块 import time #导入时间包,用于控制闪烁 GPIO.setmode(GPIO.BCM) #设置GPIO模式,BCM模式在所有数码派通用 GPIO.setup(18, GPIO.OUT) #设置GPIO18为电流输出 while True: GPIO.output(18, GPIO.HIGH) #GPIO18 输出高电平3.3V time.sleep(0.05) #程序控制流程睡眠0.05秒 GPIO.output(18, GPIO.LOW) #GPIO18 输出0V time.sleep(0.05) #程序控制流程睡眠0.05秒
gpio -g mode 4 out # 设置引脚为输出模式,-g表示BCM编码,若去掉-g则为WiringPi编码 gpio -g read 4 # 读取引脚当前电平 gpio -g write 4 1 # 设置该引脚为高电平 gpio -g write 4 0 # 设置该引脚为低电平
#include<wiringPi.h> #define Pin 25 int main() { if(wiringPiSetup() == -1) return -1; pinMode(Pin,OUTPUT); for(int i=0;i<10;i++) { digitalWrite(Pin,1); delay(200); digitalWrite(Pin,0); delay(200); } return 0; }
gcc -o 新文件名 demo.c -lwiringPi sudo ./新文件名 # root权限进行执行