在Ubuntu环境下用QT5开发树莓派的GPIO程序(使用wiringPi库)之二 引入wiringPi库

上一篇我们已经搭建好了环境,也就是说我们现在可以在Ubuntu环境下用QT5来开发树莓派的程序了。说得那么复杂,其实重点就在于可视化的开发,是的,可视化的。你可以开发树莓派上运行的窗体程序,当你搭好环境的那一刻就开始了(本系列完结?!。。。)呵呵,所以嘛,我就衍生一下,引入wiringPi库去折腾一下GPIO吧:)

有关这方面的知识请大家自行查询,我只是简单讲一下开发的过程。


先上图看看这个程序。

下面我们开始Step by Step:

打开Ubuntu环境里的QT(请注意:这个QT不是上文的QT,而是针对Ubuntu而安装的版本,我使用的是5.5.1的版本,或者你用Windows下的也可以,避免混淆)我们使用这的目的是为了方便窗体的绘制,代码的编写。

新建一个工程


选择Qt Widgets Application一路默认选下去

到这里看到


看到没有,上面的5.5.1是我在Ubuntu上装的QT,下面那个5.6.2则是我为树莓派编译的,两个不能混为一谈,当然如果你用Windows下的就不会这样,我是为了方便,因为后续基本都会在Ubuntu环境下进行。

选中Ubuntu环境的那个,另一个不管。

接着一路默认,然后经过一些努力我们已经把界面画好了,相关的代码写好了,目前只是做了个窗体架子,还没有实际的函数引入。



现在可以运行一下看看窗体的样子,窗体内部件的绘制等等外观上的东西。其实Ubuntu环境下安装的这个QT 5.5.1作用就在于此了,可以很方便的做出窗体的框架,所见即所得。

窗体编写完毕,然后就可以引入wiringPi库进行核心内容的编写了。

https://git.drogon.net/?p=wiringPi;a=summary

在这里下载最新版2.32,解压缩如下,





在QT里引入wiringPi这个文件夹


然后在适当的地方编写wiringPi库的核心代码。

比如我的:

void MainWindow::initialization()
{
    wiringPiSetup();  //初始化


    for(int i = 0;i <= 16;i++)
    {
        pinMode(i,OUTPUT); //output模式
    }
    for(int j = 21;j <= 31;j++)
    {
        pinMode(j,OUTPUT); //output模式
    }
}

等等。。。

本程序只是简单的GPIO操作。使用了如下函数:

wiringPiSetup() 初始化

pinMode(int pin,int mode)   端口方向设置

pullUpDnControl(int pin,int mode)  输入模式时上拉或者下拉电阻

digitalWrite(int pin,int mode)写端口

digitalRead(int pin)读端口


写完之后保存所有文件退出QT 5.5.1,我们不用它来编译。

进入你工程文件保存的文件夹。

~/raspi/qt5/bin/qmake

make

经过一段时间的等待就可以编译出来了。



然后

scp 你的应用名字 pi@你的树莓派IP地址:/home/pi

将这个应用传到树莓派里。比如我的就是 scp gpio pi@192.168.31.205:/home/pi


OK,最后就跑到树莓派那里去运行程序吧,别忘了要root权限啊。

sudo ./gpio


抛块砖,引片玉。


本程序下载地址:

https://github.com/partx/Qt_Raspi-GPIO.git






评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值