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解壓:
2:開啟Qt Creator, 開啟“檔案”選項,選擇“開啟檔案或專案”
在qextserialport-1.2rc資料夾下找到qextserialport.pro,開啟。
3:編輯“qextserialport.pro”專案檔案,在該檔案內新增存放共享庫的位置。
在“qextserialport.pro”檔案中,新增DESTDIR
= ..\myLib 。路徑可以自己隨便命名。方便找到生成的共享庫即可。
4:生成共享庫檔案
儲存並執行
等一會,就可以在myLib資料夾下生成一堆庫檔案:
有兩個dll庫檔案,Qt5ExtSerialPortd1.dll包含了debug資訊,Qt5ExtSerialPort1.dll,不包含debug資訊,也就沒有除錯輸出。所以選擇了“Qt5ExtSerialPortd1.dll”,發行版可以選擇“Qt5ExtSerialPort1.dll”,檔案小很多。
第二步:測試共享庫
1:新建一個專案,取名MyCom。
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
* Using QextSerialPort in your code. Enjoy it!
#include "qextserialport.h"
....
QextSerialPort * port = new QextSerialPort();
....
qextserialport.h檔案是放在src資料夾下的,所以加上下面一句:
#新增包含的串列埠類資訊
INCLUDEPATH += ../src
3:新增介面檔案並呼叫QextSerialPort,用以測試共享庫是否正常被呼叫。
執行程式:
如果不知道是哪一個串列埠,可以檢視 系統的“裝置管理器”
說明:該第三方串列埠庫在windows下使用的是“事件驅動”方式:
後語:
經過編譯共享庫,以後再使用串列埠,就只需在.pro檔案新增呼叫語句即可,快捷方便。使用共享庫的另一個思想就是物件化,以後很多模組都會抽象成共享庫,最後在編寫複雜的專案時,就可以直接呼叫這些庫檔案,而不是重寫,或者“複製貼上”了。
相關文章
- AndroidSerialPort:安卓串列埠通訊庫Android安卓串列埠
- C# 串列埠通訊利器 SerialPortStream庫C#串列埠
- 串列埠通訊利器:SerialPortStream庫詳解,輕鬆實現C#串列埠開發串列埠C#
- 串列埠blog串列埠
- 串列埠UART串列埠
- QT實現串列埠助手中串列埠名的實時更新QT串列埠
- 帶內串列埠 在串列埠中輸入命令串列埠
- 沒有真實串列埠裝置時使用"虛擬串列埠驅動"除錯你的串列埠程式碼串列埠除錯
- 串列埠資料抓取及串列埠通訊模擬串列埠
- 你真的瞭解串列埠嗎(示波器串列埠波形分析)串列埠
- 製作 Cocoapods 庫
- STM32 HAL庫之串列埠詳細篇串列埠
- 串列埠通訊串列埠
- Android開源庫的製作Android
- Android 串列埠通訊Android串列埠
- 串列埠小工具串列埠
- 【STM32】串列埠串列埠
- linux 串列埠通訊Linux串列埠
- 28_庫的製作與使用
- 安卓下的串列埠測試安卓串列埠
- 串列埠、IIC、SPI的優缺點串列埠
- Uart進行的串列埠收發串列埠
- 製作CocoaPods公有庫和私有庫
- Linux串列埠程式設計Linux串列埠程式設計
- 11. 串列埠通訊串列埠
- (10)uart串列埠通訊串列埠
- 串列埠通訊型別串列埠型別
- 串列埠,COM口,UART,USART串列埠
- Linux下串列埠監視Linux串列埠
- ubuntu繫結串列埠號Ubuntu串列埠
- 串列埠通訊協議串列埠協議
- 虛擬串列埠工具和串列埠除錯工具詳解 - 附下載地址串列埠除錯
- [開源&分享]一個用於微控制器IAP自動傳送的串列埠助手,上位機,使用Python+tkinter製作串列埠Python
- Android之串列埠程式設計Android串列埠程式設計
- 串列埠無法正常通訊串列埠
- 串列埠屏開發曲線串列埠
- serial for mac 串列埠除錯工具Mac串列埠除錯
- python讀取串列埠 資料Python串列埠
- 串列埠收發UART(Verilog HDL)串列埠