[QT]github学习QT--QT--Serial-Port-Assistant

本文介绍了一个基于QT的串口收发小程序,详细阐述了如何设置串口参数、查找可用串口、连接和断开串口、发送与接收数据。通过信号-槽机制实现数据接收回调,并利用QTimer进行定时操作。此外,还提及了HEX数据处理、数据解析及虚拟串口的相关待解决任务。
摘要由CSDN通过智能技术生成

github连接
向前辈致敬。

一个串口收发的小程序
在这里插入图片描述
功能就是串口数据的收发;

设置标题

Serial::setWindowTitle();

串口对象使用

比较基础的串口使用过程;

查找可用串口端口

通过QSerialPortInfo 类实现当前串口信息的显示,主要包括串口号和串口名称;

foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
    {
        qDebug() << "Name : " << info.portName();
        qDebug() << "Description :"<<info.description();
     }

串口的连接

setPortName 指示端口名称(端口号)
setBaudRate 设置波特率
setDataBits(QSerialPort::Data8); 设置数据位数
setStopBits(QSerialPort::OneStop); 设置停止位数
setParity(QSerialPort::NoParity) 设置校验数

最后调用open(QIODevice::ReadWrite);打开串口。

串口断开

m_serialPort.close();

串口发送

m_serialPort.write(QByteArray);

接收回调以及接收

通过信号-槽的方式连接串口的接收信号和处理函数。
对象globlePort 的readyRead信号连接到 该UI对象this的ReciveDate方法上;

 connect(&globlePort,&QSerialPort::readyRead,this,&Serial::ReciveDate);//串口打开就接收消息

与常规需要建立接收回调进程的思想有点新,比较灵活;

通过直接读取实现接收

m_serialPort.readAll()

QT中导入模块

在peo文件中,导入模块 QT += serialport

UI按键的手动绑定

绑定“openButton”按键的clicked事件,到本this线程的ButtonOpenPort任务

connect(ui->openButton,&QPushButton::clicked,this,&Serial::ButtonOpenPort);//打开串口信号

QTimer

常规操作

    myTime = new QTimer();//新建
    myTime->stop();//停止
    myTime->setInterval(1000);//1ms定时器,类似于单片机的中断函数
    connect(myTime,SIGNAL(timeout()),this,SLOT(Timer0_callback()));
    myTime->start();//启动

获取button的字符串+比较两个字符串

ui->pushButton_3->text() == QString(“暂停显示”)

for循环

foreach(qlist)
{…
}

TODO

HEX数据的处理

数据发送解析
数据接收解析

虚拟串口

协议解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值