QT制作简易串口调试助手

QT制作简易串口调试助手

0 简介

  • 本次实验涉及的QT基础: 信号和槽基本原理 常用控件使用 布局设置
  • 本次实验借鉴了网上各种资料以及查阅了相关串口类的官方文档
  • 本文只提示了最基础的功能,全面了解请自行参考各种资源
  • 本次实验源码资源在这里插入图片描述

1 界面制作

常用的控件及属性设置,界面布局
在这里插入图片描述

2 逻辑实现

2.1 添加与可用串口信息有关的类的准备

在这里插入图片描述

2.2 读取可用串口并添加到控件

QStringList serialName;
foreach (const QSerialPortInfo& info, QSerialPortInfo::availablePorts()) {
    serialName << info.portName();
}
ui->serial_comboBox->addItems(serialName);

在这里插入图片描述

2.3 打开串口

在这里插入图片描述

//测试
mySerialPort->setPortName(ui->serial_comboBox->currentText()); //这个容易遗忘
mySerialPort->setBaudRate(QSerialPort::Baud4800);
mySerialPort->setDataBits(QSerialPort::Data8);//根据MCU来选择,一般是8 这个关系到串口是否成功打开
mySerialPort->setStopBits(QSerialPort::OneStop);
mySerialPort->setParity(QSerialPort::NoParity);
mySerialPort->setFlowControl(QSerialPort::NoFlowControl);

if (mySerialPort->open(QIODevice::ReadWrite))//判断是否成功打开,很重要
    QMessageBox::information(this, "提示", "打开成功!");
else
    QMessageBox::critical(this, "提示", "打开失败!");

在这里插入图片描述

2.4 关闭串口

mySerialPort->close();

2.5 串口收发数据

  1. 串口接收

    connect(mySerialPort, SIGNAL(readyRead()), this, SLOT(readyRead_slots())); //串口read的connect
    
    void Widget::readyRead_slots()
    {
        QString buf;
        buf = QString(mySerialPort->readAll());
        //buf = mySerialPort->readAll().toHex(); //16进制显示
        //ui->receive_plainTextEdit->appendPlainText(buf);
        ui->receive_plainTextEdit->insertPlainText(buf); //没有换行
        ui->receive_plainTextEdit->moveCursor(QTextCursor::End);//及时更新内容
    }
    
  2. 串口发送

    void Widget::on_send_pushButton_clicked()
    {
        mySerialPort->write(ui->send_textEdit->toPlainText().toLocal8Bit().data());
    }
    

2.6 清空接收框

void Widget::on_clear_pushButton_clicked()
{
    ui->receive_plainTextEdit->clear();
}

3 打包发布

3.1 切换到release模式并编译

在这里插入图片描述

3.2 完善一些信息(如改图标)

更改图标步骤

  1. 在此目录下添加一个ico文件

    在这里插入图片描述

  2. 在pro中加入代码,并编译,发现此目录下图标改变了

    在这里插入图片描述

3.3 封包

  1. 找到用于封包的控制台

    在这里插入图片描述

  2. 新建一个文件夹并且把相应目录下的exe文件拷贝进去

    在这里插入图片描述

  3. 使用刚刚打开好的控制台,并且进入刚刚创建的文件夹

    在这里插入图片描述

  4. 使用命令 windeployqt + 名称.exe 基本结束,此方法简单但是文件很大,其他方法可百度

    在这里插入图片描述

与硬件通信的程序基本上要用到串口,虽然qt5以后集成了串口通信类,但是个人觉得那个串口通信类有点问题,在linux上表现很好,windows上大数据会有怪怪的问题出现,而且只能在qt5以上的版本才能用,无奈大部分的嵌入式linux上还停留在4.7.1到4.8.5左右的版本,所以本人一直喜欢用第三方的串口通信类做处理。 程序调试中经常需要串口调试,甚至还需要模拟设备数据回复,甚至串口转网络出去,特意将这些常用功能都做到一个串口调试助手中去。 基本功能: 1:支持16进制数据发送与接收。 2:支持windows下COM9以上的串口通信。 3:实时显示收发数据字节大小以及串口状态。 4:支持任意qt版本,亲测4.7.0 4.8.5 4.8.7 5.4.1 5.7.0 5.8.0。 5:支持串口转网络数据收发。 高级功能: 1:可自由管理需要发送的数据,每次只要从下拉框中选择数据即可,无需重新输入数据。 2:可模拟设备回复数据,需要在主界面开启模拟设备回复数据。当接收到设置好的指令时,立即回复设置的回复指令。例如指定收到0x16 0x00 0xFF 0x01需要回复0x16 0x00 0xFE 0x01,则只需要在SendData.txt中添加一条数据16 00 FF 01:16 00 FE 01即可。 3:可定时发送数据和保存数据到文本文件:,默认间隔5秒钟,可更改间隔时间。 4:在不断接收到大量数据时,可以暂停显示数据来查看具体数据,后台依然接收数据但不处理,无需关闭串口来查看已接收到的数据。 5:每次收到的数据都是完整的一条数据,而不是脱节的,做了延时处理。 6:一套源码随处编译,无需更改串口通信类,已在XP/WIN7/UBUNTU/ARMLINUX系统下成功编译并运行。
### 回答1: QT5是一种常见的跨平台应用程序开发工具,可以帮助开发者快速开发各种软件。串口调试助手是一种开发工具,可以帮助工程师快速调试串口设备,检测串口通信是否正常。QT5开发串口调试助手的开放源代码,可以让更多的工程师使用这个工具,快速完成串口调试的任务。 QT5开发串口调试助手可以通过读取串口设备的数据,分析设备发送的信息,输出一些特定的信息进行串口调试。它可以设置串口的通信参数,比如波特率、数据位、停止位等等,方便用户根据自己的需求进行配置。用户可以输入数据来进行测试,也可以从串口设备读取数据,进行分析和操作。 QT5开发串口调试助手还可以支持多种操作系统平台,比如Windows、Linux等等,同时还可以支持多种编程语言,比如C++、Java等等。因此,它非常适合用于嵌入式系统的开发和调试。 总之,QT5开发串口调试助手是一种非常实用的工具,它可以有效地帮助工程师快速进行串口调试,提高开发效率。开放源代码使它更具有灵活性和可扩展性,更容易被广泛应用和改进。 ### 回答2: Qt5开发串口调试助手是一款开源的串口调试工具,其优秀的特点主要体现于以下几个方面: 首先,Qt5开发串口调试助手具有易用性。Qt5开发平台为该软件提供良好的图形界面,操作简洁方便。用户可以很容易地通过该软件发现自己需要的串口,进行连接和调试。 其次,Qt5开发串口调试助手具有高效的性能。该工具使用Qt5的自定义串口模块进行串口配置和数据传输,具有非常高的上限速率和数据吞吐量,能够满足大多数串口通信应用需求。 再次,Qt5开发串口调试助手是一个免费开源软件。其开源项目源代码可以公开访问,方便用户进行修改和二次开发。该工具的开源授权许可为LGPLv3和GPLv2,可以保障代码的免费开放性。 除了以上特点,Qt5开发串口调试助手还附带了一些其他实用的功能,例如数据统计、图形绘制、设备控制等。综合来看,Qt5开发串口调试助手是一个值得用户信赖的开源工具,其高效、易用和免费开源等优点,让其在开发者中拥有广泛的欢迎度和使用价值。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值