背景

现在,我已经安装好了WiringPi依赖包,我的最终目的是实现树莓派与4G模块之间的通讯。简单的shell脚本还是不够的,还好WiringPi提供了大量完善的c++库。借这篇博客记录下相关简单的函数使用过程。

让一个LED闪烁的C++实现

先在前面说一句话,WiringPi的库函数与Arduino很类似,所以如果有过Arduino开发经验,接受起来会快一点。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//blink.cpp

#include<wiringPi.h>

int main()
{
wiringPiSetup();
pinMode(1,OUTPUT);

while (1)
{
digitalWrite(1,1);
delay(500);
digitalWrite(1,0);
delay(500);
}
}

这是一个最简单的LED闪烁的C++代码。首先,如果想使用WiringPi库函数,必须包含头文件wiringPi.h。在正式操作引脚之前,必须进行初始化,wiringPiSetup();。然后,pinMode函数顾名思义,设定某引脚(不是引脚的硬件编号,而是使用gpio readall后得到的wPi编号)的工作状态。digitalWrite(<pin>,<value>),用于控制引脚电平。delay函数用于延时,这里的数值单位是毫秒ms。
当然,初始化有多种方式,引脚工作模式也有很多种,具体参见WiringPi官方文档

然后$ g++ -o BLINK blink.cpp -lwiringPi,生成可执行文件。-lwiringPi是必须的,表示需要链接到wiringPi库。
$ ./BLINK就可以看到LED闪烁了。

下一步

使用C++实现串口通讯。