qt---串口共享库的制作

qt--工具篇之串口


版权声明

该文章原创于Qter开源社区www.qter.org),作者lxdlbs371,转载请注明出处!


概述:
      这里介绍的是把第三方写的qextserialport类编译成共享库,然后直接调用相关类和成员函数。这样写的原因是在即将开始的物联网探索里,几乎所有的实验都是通过串口通信来分析相关物联网模块标准和协议的。
论坛里面已经有了两篇关于QT串口通信的专题,所以这里就不在详细介绍了,只要会用就可以。
特别说明:这里我引用了yafeilinux站长的“QCom跨平台串口调试助手软件”的界面程序。特此感谢。


环境及工具:
操作系统:win7

qt-opensource-windows-x86-mingw491_opengl-5.4.1

qextserialport-1.2rc


第一步:编译qextserialport共享库
1:把下载好的qextserialport-1.2rc.zip解压:
BaiduShurufa_2015-4-30_21-33-40.png 

2:打开Qt Creator, 打开“文件”选项,选择“打开文件或项目” 
BaiduShurufa_2015-4-30_21-32-8.png 

在qextserialport-1.2rc文件夹下找到qextserialport.pro,打开。
 

3:编辑“qextserialport.pro”项目文件,在该文件内添加存放共享库的位置。
BaiduShurufa_2015-4-30_21-42-36.png 

    在“qextserialport.pro”文件中,添加DESTDIR = ..\myLib 。路径可以自己随便命名。方便找到生成的共享库即可。

BaiduShurufa_2015-4-30_21-40-58.png 

4:生成共享库文件

保存并运行 BaiduShurufa_2015-4-30_21-46-29.png

等一会,就可以在myLib文件夹下生成一堆库文件:
BaiduShurufa_2015-4-30_21-48-25.png 

     有两个dll库文件,Qt5ExtSerialPortd1.dll包含了debug信息,Qt5ExtSerialPort1.dll,不包含debug信息,也就没有调试输出。所以选择了“Qt5ExtSerialPortd1.dll”,发行版可以选择“Qt5ExtSerialPort1.dll”,文件小很多。

第二步:测试共享库
1:新建一个项目,取名MyCom。

BaiduShurufa_2015-4-30_19-10-9.png 

2:修改 MyCom.pro文件 添加下面三条语句:
1)把生成的MyCom程序和共享库文件放在一起。
#添加串口共享库的位置
DESTDIR = ..\myLib
2)要使用该库,需要包含#include"qextserialport.h" 官方原话:
* Using QextSerialPort in your code. Enjoy it!
           #include "qextserialport.h"
            ....
           QextSerialPort * port = new QextSerialPort();
            ....
qextserialport.h文件是放在src文件夹下的,所以加上下面一句:
#添加包含的串口类信息
INCLUDEPATH += ../src

3)添加使用的串口共享库文件。
LIBS += $$DESTDIR/Qt5ExtSerialPortd1.dll
BaiduShurufa_2015-4-30_23-2-54.png 

* Using QextSerialPort in your code. Enjoy it!
           #include "qextserialport.h"
            ....
           QextSerialPort * port = new QextSerialPort();
            ....
qextserialport.h文件是放在src文件夹下的,所以加上下面一句:
#添加包含的串口类信息
INCLUDEPATH += ../src

3:添加界面文件并调用QextSerialPort,用以测试共享库是否正常被调用。
BaiduShurufa_2015-4-30_22-26-55.png 

运行程序:
BaiduShurufa_2015-4-30_19-50-35.png 


如果不知道是哪一个串口,可以查看 系统的“设备管理器”
BaiduShurufa_2015-4-30_19-50-1.png 


说明:该第三方串口库在windows下使用的是“事件驱动”方式:
BaiduShurufa_2015-4-30_19-56-54.png 


后语:
经过编译共享库,以后再使用串口,就只需在.pro文件添加调用语句即可,快捷方便。使用共享库的另一个思想就是对象化,以后很多模块都会抽象成共享库,最后在编写复杂的项目时,就可以直接调用这些库文件,而不是重写,或者“复制粘贴”了。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值