一、简介

    QSerialPort类是Qt5封装的串口类,可以与串口进行通信。QSerialPortInfo是一个辅助类,提供串口的一些信息,如可用的串口名称,描述,制造商,序列号,串口16位产品编号等。利用QSerialPortInfo提供的可用串口信息,可设置串口波特率,并打开需要的串口进行通信。

二、使用
使用时要注意,通过找到计算机可用的串口,得到后,要调用setPortName或者setPortInfo使我们实例化的串口对象与我们想使用的可用串口进行映射。此时我们就可以使用QSerialPort对象对串口进行操作了

a. 串口的初始化:

QSerialPort *serial = new QSerialPort();
QObject::connect(serial, SIGNAL(readyRead()), this, SLOT(recSerialData())); // 连接串口收到数据事件与读取数据函数 serial->setPortName("COM3");
serial->setBaudRate(QSerialPort::Baud9600);
serial->setParity(QSerialPort::NoParity);
serial->setDataBits(QSerialPort::Data8);
serial->setStopBits(QSerialPort::OneStop);
serial->setFlowControl(QSerialPort::NoFlowControl);
if (serial->open(QIODevice::ReadWrite)) {
qDebug()<<"open success";
} else {
qDebug()<<"open failed";
}

b. 向串口发送数据

serial->write("test");

c. 接收串口返回的数据

void MySerial::recSerialData()
{
QByteArray ba;
ba = serial->readAll();
display(ba);
}

三、总结

总的来说,使用Qt5进行串口通信是较为简单的。大致步骤为:配置串口参数->打开串口->收发数据。

最新文章

  1. 分享一个html+js+ashx+easyui+ado.net权限管理系统
  2. ASP.NET、JAVA跨服务器远程上传文件(图片)的相关解决方案整合
  3. 逻辑回归算法的原理及实现(LR)
  4. filebeat 多行日志的处理
  5. hdu 1575 Tr A
  6. linux运维常用命令
  7. 【Maven】解决maven打jar包报错 source 1.3 中不支持注释 (请使用 -sour
  8. oracle 性能优化--索引总结
  9. vc 基于对话框多线程编程实例——线程之间的通信
  10. DRY
  11. 团队作业4——第一次项目冲刺(Alpha版本) Day 1
  12. java客户端调用webService
  13. 学习EtherCAT的感想
  14. Android Studio教程01-的工程和目录结构解析
  15. jquery中数组对象下面的属性名名是动态的如何获取
  16. springboot无法加载oracle驱动终极解决
  17. IdentityServer4授权和认证对接数据库
  18. Java8 异步编排类CompletableFuture
  19. 第十八章 springboot + thymeleaf
  20. 在linux上使用tomcat服务器图片验证码不显示问题

热门文章

  1. (转)JAVA国际化
  2. mysql复制以及一主多从等常见集群概述
  3. Codeforces 166B - Polygon (判断凸包位置关系)
  4. pip安装时ReadTimeoutError解决办法
  5. ES6 学习 -- 字符串新增方法
  6. iOS开发系列-iOS布局相关
  7. linux 系统优化,调优
  8. fuzzy commitment 和fuzzy vault
  9. 时间 &#39;2018-08-06T10:00:00.000Z&#39; 格式转化为本地时间(转)
  10. drupal7 smtp+mimemail+mailsystem 实现发送html邮件