wiringPi是用C语言编写的基于BCM 2835、BCM 2836和BCM 2837 的SoC 访问树莓派GPIO的库。
我的软件都是clone在/home/pi
目录下面,且我一般都是在root
用户下操作。下面的操作无特殊说明都是root
用户。
1.clone代码
git clone git://git.drogon.net/wiringPi
2.编译代码
cd wiringPi
./build
3.验证
gpio -v
4.效果如图
至此wiringPi
的安装算是结束了。
1.新建led.c
文件: touch led.c
2.编写代码
#include
int main (void)
{
wiringPiSetup () ; // 初始化 这个必须写在最前面
pinMode (0, OUTPUT) ; // 设置GPIO.0 为输出
for (;;) // 无限循环
{
digitalWrite (0, HIGH); // GPIO.0 输出高
delay (500); // 延时500毫秒
digitalWrite (0, LOW); // GPIO.0 输出低
delay (500);
}
return 0 ;
}
搞过单片机或者其他嵌入式的 因该都知道为什么这么写的。具体可以看文档blink。
3.编译文件:gcc -Wall -o led led.c -lwiringPi
这里的意思是把led.c
文件编译输出led
文件
4.链接电路
链接电路之前需要先看看电路图
代码里面的用到的是GPIO.0,这里大家主要看图的wiringPi编码这一栏。GPIO.0对应的电路板上的是第11引脚。
我的电路链接是:
GPIO.0 –> led正极 –> led负极 –> GND。我使用的是3mm直插的白发蓝LED。
一般情况下直接用CPU的端口驱动这个LED是没问题。当然实际电路大家根据自己的实际条件选取。
5.执行./led
,如果不是root
用户,记得加上sudo
这里我们就可以看见LED开始间隔500毫秒的闪烁了。
关于wiringPi的使用建议多看文档。英文不好的可以看这里树莓派wiringPi库详解或者下载这个文档wiringPi用户手册。
最后发现又回到了几年前搞单片机嵌入式的时候了,还是蛮有意思的。