(五)树莓派3B+ wiringPi库的使用--点亮LED

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhuming3834/article/details/81984594

关于wiringPi

wiringPi是用C语言编写的基于BCM 2835、BCM 2836和BCM 2837 的SoC 访问树莓派GPIO的库。

wiringPi的安装

我的软件都是clone在/home/pi目录下面,且我一般都是在root用户下操作。下面的操作无特殊说明都是root用户。
1.clone代码
git clone git://git.drogon.net/wiringPi
2.编译代码

cd wiringPi
./build

3.验证
gpio -v
4.效果如图
这里写图片描述
至此wiringPi的安装算是结束了。

点亮第一个LED

1.新建led.c文件: touch led.c
2.编写代码

#include <wiringPi.h>
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用户手册
最后发现又回到了几年前搞单片机嵌入式的时候了,还是蛮有意思的。

猜你喜欢

转载自blog.csdn.net/zhuming3834/article/details/81984594