Qt撰寫UART(RS232)

1.首先到官網去下載QextSerialPort 1.1
按此連結

2.解壓縮後
將裡面的
posix_qextserialport.cpp
posix_qextserialport.h
win_qextserialport.cpp 
win_qextserialport.h
qextserialbase.cpp
qextserialbase.h
qextserialport.cpp
qextserialport.h
複製到你的專案資夾底下

3.開啟pro輸入
HEADERS += qextserialbase.h /
qextserialport.h
SOURCES += qextserialbase.cpp /
qextserialport.cpp
unix:HEADERS += posix_qextserialport.h
unix:SOURCES += posix_qextserialport.cpp
win32:HEADERS += win_qextserialport.h
win32:SOURCES += win_qextserialport.cpp
unix:DEFINES = _TTY_POSIX_
win32:DEFINES = _TTY_WIN_

4.接下來就可以在程式裡面開始使用qextserial
首先先include qextserialport.h
宣告一個
QextSerialPort port = new QextSerialPort;
開始使用
port.setPortName("COM1");  //port的位置
port.setBaudRate(BAUD38400);  //包率
port.setFlowControl(FLOW_OFF);  //滿載控制
port.setParity(PAR_NONE);  //同位元
port.setDataBits(DATA_8);  //資料大小
port.setStopBits(STOP_1);  //停止bit
port.open(QIODevice::ReadWrite);  //開啟UART的port
這樣久就設定完成並且開啟

常用函數:
isOpen()
此函數用來檢查使否開啟
a = read(array, 10)
此函數用來接收值
array為放資料的地方
10為接收的值
a為所接收到的值
write(array, 10)
array為放傳送的地方
10為傳送的值

因為此程式沒有接收後自動中斷的機制
所以需要隔一段時間接收資料

0 意見:

張貼留言