開啟串列埠後要重新設定一遍波特率,資料位,校驗位等,否則這些都是預設的。
//連線串列埠
voidmainwindow
::on_opencomn_clicked
()
ui->
opencomn
->
settext
("開啟串列埠"
);
return
;
}
qstring
comnarg=ui
->
comnarg
->
currenttext
();
//ui->status->settext(comnarg);
//com1,9600,e
qstringlist
comnlist
=comnarg
.split
(","
,qstring
::skipemptyparts
);
//ui->status->settext(comnlist[0]
+"---"
+comnlist[1]
+"---"
+comnlist[2]
);
//設定com口
comn
->
setportname
(comnlist[0
]);
comn
->
setport
(qserialportinfo
(comnlist[0
]));
//設定波特率
comn
->
setbaudrate
(comnlist[1
].toulong
());
//設定奇偶校驗
//comn->setparity(qserialport::evenparity);
comn
->
setparity
(qserialport
::evenparity
);
if(comnlist[2
]==tr(
"e")
)
elseif(
comnlist[2
]==tr(
"o")
)
elseif(
comnlist[2
]==tr(
"n")
)
else
comn
->
setdatabits
(qserialport
::data8
);
comn
->
setstopbits
(qserialport
::onestop
);
//開啟串列埠,開啟成功後要重新設定串列埠引數,否則都是預設的。。
if(comn
->
open
(qiodevice
::readwrite
))
elseif(
comnlist[2
]==tr(
"o")
)
elseif(
comnlist[2
]==tr(
"n")
)
else
comn
->
setdatabits
(qserialport
::data8
);
comn
->
setstopbits
(qserialport
::onestop
);
qdebug
()<<
"校驗位"
<<
comn
->
parity
()
<<
"波特率"
<<
comn
->
baudrate
()
<<
"com
口"<<
comn
->
portname
();
qmessagebox
::about
(this
,"串列埠"
,"開啟串列埠成功"
);
}
else
}
qt串列埠程式設計
本帖被 xchinux 執行加亮操作 2008 04 22 serial.cpp int main int argc,char argv mainwindow.h ifndef main window h define main window h include class qlabel class...
QT串列埠程式設計
最近開發乙個專案,需要串列埠程式設計,是在qt windows 環境下進行開發。在qt5.0的版本之前都沒有支援串列埠,需要使用第三方類庫qserialport,網上的qt串列埠程式設計的例項也是基於此編寫的。最近安裝5.2 和5.4的版本,在瀏覽其幫助文件的時候,發現qt已經整合了串列埠的類庫,果...
自學Qt之路 串列埠程式設計(使用自帶Qt庫)
之前學習嵌入式驅動,做乙個紅外攝像頭的專案,在作業系統之上直接操作 lcd顯示屏,顯示影象。後來聽說 qt能夠跨平台,跨 window android linux 三個平台,而且做專案必須有個圖形介面,看起來高大上。之後根據這個專案需要,自學 qt5.6 寫個部落格記錄一下自己學習過程。之前看過 q...