qt做串口调试助手
想要做一个串口调试助手,实现上位机和下位机的通信只是最基础的一部分,后面的界面布局和功能响应也是需要技巧的。
先放一个最终效果图,再讲实现
右上角显示可用串口
这个其实跟上一章里面,自动扫描串口是关联在一起用的
/*************功能:显示可用串口**********************/
void MainWindow::showValidPort()
{
QStringList newPortStringList;
foreach(const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
newPortStringList += info.portName();
if(newPortStringList.size() != portStringList.size())
{
portStringList = newPortStringList;
ui->comboVolt1->clear();
ui->comboVolt1->addItems(portStringList);
}
if(currentCOM != ui->comboVolt1->currentText()) //串口突然断开连接了
{
currentCOM = ui->comboVolt1->currentText();
}
}
串口的打开和关闭
global_port.setPortName(ui->comboVolt1->currentText());//设置端口号
if(global_port.open(QIODevice::ReadWrite))//打开串口函数,会返回一个bool值判断是否打开
{
QMessageBox *m_box = new QMessageBox(QMessageBox::Information,QString("message"),QString("Open!"));//弹出提示
QTimer::singleShot(500,m_box,SLOT(accept()));//定时500ms显示后,关闭弹窗
m_box->exec();
}
global_port.close();//关闭串口函数,如果想要设置弹窗可以同上