QT5的串口数据读取

刚建立好时候

在工程中添加如下代码

 

 

 

 

在mainwindow.cpp中

ui就是指的自己设计的主界面

 

这里就是界面初始化显示出来时候执行的内容

对于串口  可以在这里自动寻找串口

 

 

 

 

 

界面设计

 

修改名字下拉框Combo Box 名字

 

以此类推

 

对按钮改名字后  转到槽   click消息

 

  串口七步曲

1

 

2

 

3

4 设置数据位

5 设置校验位

 

6设置ji

 

 

 

双击界面的,添加几个波特率

运行程序 选中哪个波特率  3中的代码代表的就是当前选中的波特率

 

这些的意思是  下拉框将不能被选中

 

 

如果是内嵌的程序  固定波特率 或停止位等  则这样初始化

serial->setBaudRate(QSerialPort::Baud115200);
 
 
 
 

怎样将获取的数据在  接受区域(text_edit)收到

 

需要在响应打开串口函数的最后将电脑数据与显示区关联

 

上面表示  接收到串口数据响应的时候   响应ReadData()这个函数

 

这个函数应当在.h文件的私有信号槽中定义

 

 

在.cpp的文件中实现

 

n1在.h中声明过了   为了解决  数据接受  clear来不及清理textEdit造成程序的卡顿

 

注释中有 数字转字符串的方法  字符串转数字直接在对应字符串变量后面加点就好了

还有截取数据的方法  str.mid(n1,n2)  从n1位置开始 截取n2个字符串  包括空格

  • 10
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt是一个开源的C++跨平台应用程序开发框架,它提供了丰富的类库,可以轻松实现串口通信读写与数据存储。 Qt中提供了一个名为QSerialPort的类用于串口的读写。首先需要创建一个QSerialPort实例,并设置好串口的参数和端口号,然后调用open()函数打开串口。 在读取串口数据时,Qt中提供了两种方式:一种是直接使用QSerialPort类的read()函数读取指定长度的数据,另一种是使用QIODevice类的readAll()函数读取所有可用的数据数据读取完成后,可以将其存储到文件中。 文件存储可以使用Qt提供的QFile类,首先需要创建一个QFile实例,并设置好文件名和存储方式,然后调用open()函数打开文件进行存储。 完整的代码可以参考下面示例: ```cpp #include <QCoreApplication> #include <QSerialPort> #include <QFile> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 创建串口实例 QSerialPort serialPort; // 设置串口参数 serialPort.setPortName("COM1"); serialPort.setBaudRate(QSerialPort::Baud9600); serialPort.setDataBits(QSerialPort::Data8); serialPort.setParity(QSerialPort::NoParity); serialPort.setStopBits(QSerialPort::OneStop); serialPort.setFlowControl(QSerialPort::NoFlowControl); // 打开串口 if (serialPort.open(QIODevice::ReadOnly)) { // 读取所有可用数据 QByteArray data = serialPort.readAll(); // 存储数据到文件 QFile outputFile("serialData.txt"); if (outputFile.open(QIODevice::WriteOnly | QIODevice::Text)) { QTextStream outputStream(&outputFile); outputStream << data; outputFile.close(); } // 关闭串口 serialPort.close(); } return a.exec(); } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值