前言
最近剛學(xué)了一點(diǎn)Qt開(kāi)發(fā)上位機(jī),嘗試著做個(gè)小軟件練練手。查找了很多資料,做了一個(gè)簡(jiǎn)單的
串口助手,可以實(shí)現(xiàn)串口基本發(fā)送和接收功能,支持中文顯示,還可以控制STM32開(kāi)發(fā)板上的兩個(gè)LED。
1.軟件界面
2.主要功能:
- 啟動(dòng)自動(dòng)搜索本機(jī)串口,或者手動(dòng)點(diǎn)擊搜索鍵掃描串口
- 自定義波特率
- 支持中文顯示
- 支持發(fā)送新行
3.實(shí)際效果:
(GIF壓縮后根本沒(méi)法看。。。。)花了大概3天時(shí)間吧,找了很多資料,功能很簡(jiǎn)單, 但想著是自己一點(diǎn)一點(diǎn)開(kāi)發(fā)的,還是挺有成就感的哈!寫(xiě)這篇文章是為了總結(jié)一下開(kāi)發(fā)的過(guò)程和一些知識(shí)點(diǎn),主要包括兩部分,上位機(jī)的實(shí)現(xiàn)和STM32端程序的實(shí)現(xiàn)。
Qt上位機(jī)的實(shí)現(xiàn)
0.新建一個(gè)Dialog項(xiàng)目
新建一個(gè)Dialog項(xiàng)目,這3種基類的區(qū)別可以根據(jù)你的程序來(lái)確定。
- 如果需要嵌入到其他窗體中,則基于QWidget創(chuàng)建。
- 如果是主窗體,則基于QMainWindow創(chuàng)建,有菜單欄,狀態(tài)欄,工具欄等。
- 如果是頂級(jí)對(duì)話框,則基于QDialog創(chuàng)建。
1.軟件UI界面的設(shè)計(jì)
使用Qt Designer添加所需要的控件,并進(jìn)行合理布局,盡量每一個(gè)控件,起一個(gè)合理易懂的名字。
2.串口庫(kù)的添加
pro文件添加一行:
QT = serialport
對(duì)應(yīng)的頭文件包含:
#include <QSerialPort>
#include <QSerialPortInfo>
3.串口自動(dòng)搜索功能的實(shí)現(xiàn)
自動(dòng)搜索本機(jī)串口,并在ComboBox中添加串口號(hào)
ui->cbb_com->clear();
//運(yùn)行開(kāi)始查找可用串口
foreach(const QSerialPortInfo