QT制作简易串口助手

1、创建工程

①点击New Project,选择Qt Widgets Application

 

②设置项目名称及保存路径

 

③点击下一步,然后选择Qwiget基类,再点击完成

 

 

 

2、编程

①界面编辑及布局

编辑好界面之后,记得给控件改名,方便后面代码编写。

 

双击ComboBOX相应的框可以写入需要的数值

 点击数据接受框,在属性栏中勾选只读

 

 ②在Serial.pro中添加串口相关模块

③widget.h文件 

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QSerialPort>
#include <QString>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

    QSerialPort *serialPort;//定义串口指针

private slots:

    /*手动连接槽函数*/
    void manual_serialPortReadyRead();

    /*以下为widget.ui文件中点击“转到槽”自动生成的函数*/
    void on_openBt_clicked();

    void on_closeBt_clicked();

    void on_sendBt_clicked();

    void on_clearBt_clicked();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

④widget.cpp文件 

#include "widget.h"
#include "ui_widget.h"
#include "QSerialPortInfo"
#include <QSerialPort>
#include <QMessageBox>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    QStringList serialNamePort;

    serialPort = new QSerialPort(this);
    connect(serialPort,SIGNAL(readyRead()),this,SLOT(manual_serialPortReadyRead()));/*手动连接槽函数*/

    /*找出当前连接的串口并显示到serailCb*/
    foreach(const QSerialPortInfo &info,QSerialPortInfo::availablePorts())
    {
        serialNamePort<<info.portName();
    }
    ui->serailCb->addItems(serialNamePort);

}

Widget::~Widget()
{
    delete ui;
}

/*手动实现接收数据函数*/
void Widget::manual_serialPortReadyRead()
{
    QString buf;
    buf=QString(serialPort->readAll());
    ui->recvEdit->appendPlainText(buf);
}

/*打开串口*/
void Widget::on_openBt_clicked()
{
    /*串口初始化*/
    QSerialPort::BaudRate baudRate;
    QSerialPort::DataBits dataBits;
    QSerialPort::StopBits stopBits;
    QSerialPort::Parity checkBits;

    if(ui->baundrateCb->currentText()=="4800")
        baudRate=QSerialPort::Baud4800;
    else if(ui->baundrateCb->currentText()=="9600")
        baudRate=QSerialPort::Baud9600;
    else if(ui->baundrateCb->currentText()=="115200")
        baudRate=QSerialPort::Baud115200;

    if(ui->databitCb->currentText()=="5")
        dataBits=QSerialPort::Data5;
    else if(ui->databitCb->currentText()=="6")
        dataBits=QSerialPort::Data6;
    else if(ui->databitCb->currentText()=="7")
        dataBits=QSerialPort::Data7;
    else if(ui->databitCb->currentText()=="8")
        dataBits=QSerialPort::Data8;

    if(ui->stopbitCb->currentText()=="1")
        stopBits=QSerialPort::OneStop;
    else if(ui->stopbitCb->currentText()=="1.5")
        stopBits=QSerialPort::OneAndHalfStop;
    else if(ui->stopbitCb->currentText()=="2")
        stopBits=QSerialPort::TwoStop;

    if(ui->checkbitCb->currentText()=="none")
        checkBits=QSerialPort::NoParity;

    serialPort->setPortName(ui->serailCb->currentText());
    serialPort->setBaudRate(baudRate);
    serialPort->setDataBits(dataBits);
    serialPort->setStopBits(stopBits);
    serialPort->setParity(checkBits);

    if(serialPort->open(QIODevice::ReadWrite)==true)
        QMessageBox::information(this,"提示","成功");
    else
        QMessageBox::critical(this,"提示","失败");
}

/*关闭串口*/
void Widget::on_closeBt_clicked()
{
    serialPort->close();
}

/*发送数据*/
void Widget::on_sendBt_clicked()
{
    serialPort->write(ui->sendEdit->text().toLocal8Bit().data());
}

/*清空*/
void Widget::on_clearBt_clicked()
{
    ui->recvEdit->clear();
}

3、运行

点击CTRL+R编译并运行

将开发板连接至电脑,打开对应串口,发送指令并得到反馈。

 4、把QT程序打包成Windows软件

①更改图标

在工程文件夹里加入.ico格式的图标文件

 在Serial.pro中添加该图标

 将工程改为Release模式再重新编译

 打包操作

创建一个Serial文件夹(不能有中文路径),将刚才生产的Release版本的exe文件(在D:\likui1\code\Qt\build-Serail-Desktop_Qt_5_11_1_MinGW_32bit-Release\release目录下)复制到该文件夹下。

 打开QT控制台,然后按下图操作

 可以看到文件夹中又多了很多文件,其中Serial.exe就可以直接点击使用

 

  • 14
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
### 回答1: Qt5串口助手是一款基于Qt5开发的串口通讯工具,用来帮助用户进行串口通讯的测试和调试工作。其中"<<115200"表示设置串口的波特率为115200。 串口通讯是一种用来实现数据传输的通信方式,常用于嵌入式开发和设备间的通讯。Qt5串口助手提供了简单易用的图形界面,用户可以通过该工具直接进行串口的打开、关闭、配置等操作。在进行配置时,用户可以选择要使用的串口号和波特率。 在这里,"<<115200"表示设置波特率为115200,波特率是串口通信传输速率的度量单位,它表示每秒钟可以传输的位数。115200是一个较高的波特率,可以实现数据传输速度快的特点。对于某些特殊的设备或要求,使用较高的波特率能够满足更快的数据传输需求。 总的来说,Qt5串口助手提供了方便的界面和功能,用户可以根据具体需求进行串口通讯的设置和调试工作。通过设置波特率为115200,可以实现较快的数据传输速度,满足一些高速通讯的需求。使用该工具可以提升开发效率和调试准确性,方便开发人员进行串口通讯相关的工作。 ### 回答2: qt5串口助手是一个使用Qt5编写的串口通信工具,用于与设备进行串口通信和数据传输。在这里,"<<115200"是串口的波特率设置,表示波特率为115200。波特率是指在串行通信中,每秒钟传输的位数,波特率越高,数据传输速率越快。 qt5串口助手通过使用Qt的串口模块,可以方便地打开和关闭串口,读取和发送数据。用户可以通过图形界面选择并设置串口的参数,包括波特率、数据位、停止位和校验位等等。 当波特率设置为115200时,串口助手会以每秒传输115200位的速度与设备进行通信,这样可以实现较快的数据传输。对于一些需要高速传输数据的应用场景,选择较高的波特率可以提高通信效率。 需要注意的是,通信双方的波特率设置要保持一致,否则可能会导致通信的错误或数据丢失。因此,在使用qt5串口助手进行串口通信时,需要确保设备端的波特率与程序端设置的波特率一致,这样才能正常进行数据的传输和交互。 总而言之,qt5串口助手能够方便地进行串口通信和数据传输,而"<<115200"表示设置波特率为115200,通过此设置可以实现较高的数据传输速率。 ### 回答3: Qt5串口助手是一款使用Qt5框架开发的串口通信工具。串口通信是一种常见的数据传输方式,可以实现计算机与其他设备间的数据交互。<<115200表示串口通信中的波特率(baud rate),即每秒传输的位数。115200是一种常用的波特率,表示每秒传输115200位的数据。 通过Qt5串口助手,我们可以方便地进行串口的连接和数据的收发。首先,我们需要选择正确的串口号以及波特率。然后,通过打开串口,我们可以与设备建立起连接。连接成功后,我们可以发送指令或数据到设备,并且实时接收设备返回的数据。 Qt5串口助手提供了一些常用的功能,比如发送数据、接收数据以及显示接收到的数据等。用户可以通过界面上的按钮或者命令来实现这些功能。同时,Qt5串口助手还可以设置串口的其他参数,比如数据位、校验位、停止位等。这些参数的设置依赖于具体的设备和通信需求,可以根据需要进行调整。 总之,Qt5串口助手是一款方便实用的串口通信工具,可以帮助我们实现与设备间的数据传输。通过设置正确的串口号和波特率,以及合适的参数配置,我们可以快速、稳定地进行串口通信,并且实时地监控和处理设备返回的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值