qt版本:qt4.8.6解壓後「/src」目錄下會有以下幾個檔案:外部包:qextserialport-1.2rc.zip
qextserialport.pri根據作業系統選擇需要的檔案,下面以windows環境舉例,介紹一下如何使用qt在windows環境下開發uart串列埠除錯功能。qextserialport_p.h
qextserialport_global.h
qextserialport.h
qextserialenumerator_p.h
qextserialenumerator.h
qextserialport_win.cpp
qextserialport_unix.cpp
qextserialport.cpp
qextserialenumerator_win.cpp
qextserialenumerator_unix.cpp
qextserialenumerator_osx.cpp
qextserialenumerator_linux.cpp
qextserialenumerator.cpp
首先通過qt設計師設計ui介面,主要是新增uart配置資訊
常見的包括串列埠、波特率、資料位、校驗位、停止位、超時時間、查詢模式,再新增乙個自動傳送的功能
//檢測裝置插拔,新增或刪除串列埠
connect(enumerator, signal(devicediscovered(qextportinfo)), slot(onportaddedorremoved()));
connect(enumerator, signal(deviceremoved(qextportinfo)), slot(onportaddedorremoved()));
connect(ui.bandratebox, signal(currentindexchanged(int)), slot(onbandratechanged(int)));
connect(ui.paritybox, signal(currentindexchanged(int)), slot(onparitychanged(int)));
connect(ui.databitsbox, signal(currentindexchanged(int)), slot(ondatabitschanged(int)));
connect(ui.stopbitsbox, signal(currentindexchanged(int)), slot(onstopbitschanged(int)));
connect(ui.querymodebox, signal(currentindexchanged(int)), slot(onquerymodechanged(int)));
connect(ui.timeoutbox, signal(valuechanged(int)), slot(ontimeoutchanged(int)));
connect(ui.portbox, signal(edittextchanged(qstring)), slot(onportnamechanged(qstring)));
connect(ui.openclosebutton, signal(clicked()), slot(onopenclosebuttonclicked()));
connect(ui.sendbutton, signal(clicked()), slot(onsendbuttonclicked()));
connect(timer, signal(timeout()), slot(onreadyread()));
connect(port, signal(readyread()), slot(onreadyread()));
connect(ui.autowritebox,signal(clicked()),this,slot(onautowriteclicked()));
//自動傳送功能
autotimer = new qtimer(this);
connect(autotimer,signal(timeout()),this,slot(onsendbuttonclicked()));
}void uarttrans::initial()
uarttrans::~uarttrans()
void uarttrans::onportnamechanged(const qstring & /*name*/)
else
ui.openclosebutton->settext("close");
}void uarttrans::onbandratechanged(int idx)
void uarttrans::onparitychanged(int idx)
void uarttrans::ondatabitschanged(int idx)
void uarttrans::onstopbitschanged(int idx)
void uarttrans::onquerymodechanged(int idx)
void uarttrans::ontimeoutchanged(int val)
void uarttrans::onopenclosebuttonclicked()
else
if (port->isopen() && port->querymode() == qextserialport::polling)
timer->start();
else
timer->stop();
}void uarttrans::onsendbuttonclicked()
void uarttrans::onreadyread()
}void uarttrans::onportaddedorremoved()
void uarttrans::onautowriteclicked()
else
}
QT實現串列埠除錯功能 QSerialPort類
1 簡介 本博文主要是介紹如何使用qt的串列埠類 qserialport 來實現串列埠的開發,使用這個類來實現串列埠的基本功能,比如如何查詢本機可用串列埠 com 開啟串列埠 設定串列埠波特率 設定資料位 設定校驗位 停止位等視窗屬性。還實現了十六進製制收發顯示資料,經過測試,本工程 可以在win7...
QT編寫串列埠除錯助手實現串列埠通訊
一 pro檔案新增串列埠 新增模組 qt serialport二 mainwindow.h 新增標頭檔案 include include例項化類,新增槽函式 按鈕可直接轉到槽,自己定義的槽函式要在private slots聲名 private qserialport serial private s...
模擬串列埠UART的實現
我所禱告的,就是要你們的愛心,在知識和見識上,多而又多,使你們能分辨是非,做誠實無過的人,直到 的日子。腓立比書 1 9 10 最近在調的mcu的型號為stm32f030,配置晶元相較之前的mcu都比較簡單,功能配置很順利。但是在寫串列埠程式的時候,發現串列埠一直不通,使用示波器也沒有波形。因為基本...