如何用QT做串口调试助手Qseriaport类的使用

本文介绍了如何使用QT的Qserialport类创建串口调试助手,包括工程界面设计、串口类的使用、串口的打开与关闭、数据接收与16进制显示、串口发送及定时发送、数据量统计和界面清除等关键步骤。代码已提供,适合初学者学习。
摘要由CSDN通过智能技术生成

首先新建工程界面设计

在这里我就不做详述了,注意的一点就是接收框是QPlainTextEdit,我把我的整体放上来,有点丑,你们可以自由发挥。
在这里插入图片描述
在写之前我先把我创建的一些全局变量什么的写出来,免得下面的代码看不太明白:
类是这样的:

class uartmain : public QWidget
{
   
    Q_OBJECT

public:
    explicit uartmain(QWidget *parent = nullptr);
    ~uartmain();

     QSerialPort *uart;
     QTimer *timer;


     QString uartbuf;

     bool HEX_status;

     bool timesend_status;

     QTimer *timersend;
     int numbrece;
     int numbsend;


private slots:
     void on_sendBtn_clicked();

     void on_openBtn_clicked();

     void on_closeBtn_clicked();

     void on_clearBtn_clicked();

     void slotsUartReadyread();

     void slotTimeout();

     void slotTimeSendout();

     void on_HexcheckBox_clicked();

     void on_TimeScheckBox_2_stateChanged(int arg1);

private:
    Ui::uartmain *ui;
};

然后构造函数是这样的:

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

    uart = new QSerialPort(this);
    timer = new QTimer(this);
    timersend = new QTimer(this);

    numbsend = 0;
    numbrece = 0;

    HEX_status = 0;
    timesend_status = 0;

//下面这段代码我后面还会再进行介绍。
    //availablePorts();是返回当前系统所有能用的串口,返回值是一个容器
    QList<QSerialPortInfo> info  = QSerialPortInfo::availablePorts();
    for(int i=0 ; i<info.size(); i++){
   

        ui->NamecomboBox->addItem(info[i].portName());  //addItem加入数据到下拉菜单
    }

    connect(timer, SIGNAL(timeout()), this, SLOT(slotTimeout()));

    connect(timersend, SIGNAL(timeout()), 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值