博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt串口通信简单编程步骤(QSerialPort)
阅读量:3961 次
发布时间:2019-05-24

本文共 1323 字,大约阅读时间需要 4 分钟。

Qt有自带的串口通信类QSerialPort:

提供访问串口的功能。您可以使用QSeralPortinfo助手类获得关于可用串行端口的信息,该帮助程序允许枚举系统中的所有端口。有助于获得您想要使用的串行端口的正确名称。您可以将助手类的对象作为参数传递给setPort()或setPortName()方法,以分配所需的串行设备。
在设置端口之后,您可以使用open()方法以只读(r/o)、只写(w/o)或读写(r/w)模式打开它。注意:串行端口总是以独占访问的方式打开(也就是说,没有其他进程或线程可以访问已经打开的串行端口)使用close()方法关闭端口并取消I/0操作。

程序编写步骤:

1.环境配置

在工程文件中添加

QT += serialport

在头文件中添加

#include 
//Qt串口功能接口类#include
//提供设备现有串行端口的信息

2.获取设备现有串行端口

//检测系统现有串口,显示到comboBox控件   foreach (const QSerialPortInfo &qspinfo, QSerialPortInfo::availablePorts())    {        	ui->portComboBox->addItem(qspinfo.portName());    }

3.设置串口参数并打开串口

先声明并初始化一个串口类

QSerialPotr  myPort;myPort = new QSerialPort;

设置串口配置并打开串口

myPort->setPortName(PortName);    myPort->setBaudRate(QSerialPort::Baud19200); //设置波特率myPort->setParity(QSerialPort::NoParity);    //设置校验位    myPort->setDataBits(QSerialPort::Data8);     //设置数据位    myPort->setStopBits(QSerialPort::OneStop);   //设置停止位    myPort->open(QIODevice::ReadWrite);    if(myPort->isOpen())        	qDebug()<<"串口打开成功";

4.发送与接收数据

发送数据

QString str = "需要发送的字符数据";QByteArray array = str.toLocal8Bit();myPort->write(array);

接收数据

//先建立信号槽connect(this,SIGNAL(readyRead()),this,receiveDate()));//接收函数void MainWindow::receiveDate(){	QString str = myPort->readAll();	//然后把接收到的信息自定义处理就ok了}

关闭串口

myPort->close();

如有不到之处,请联系我指正,诚恳求教!

转载地址:http://peezi.baihongyu.com/

你可能感兴趣的文章
Android自动化工具Monkeyrunner使用(一)
查看>>
Android自动化工具Monkeyrunner使用(二)
查看>>
Android自动化工具Monkeyrunner使用(三)
查看>>
Android自动化工具Monkeyrunner使用(四)
查看>>
Android自动化工具Monkeyrunner使用(五)
查看>>
Selenium-webdriver系列教程(7)———如何处理alert和confirm
查看>>
Selenium-webdriver系列教程(8)———使用Page Object设计模式
查看>>
Python logging模块详解
查看>>
加载selenium2Library失败---robotframework环境搭建(RIDE无法启动?)
查看>>
Robot Framework 的安装配置和简单的实例介绍
查看>>
APP功能测试的7大注意点
查看>>
Python之unittest
查看>>
Fiddler之——Fiddler简介
查看>>
Fiddler之——Fiddler抓包分析
查看>>
Android开发之——activity跳转
查看>>
Android开发之——Menu 操作
查看>>
Android开发之——布局实例
查看>>
Android开发之——SQLite使用方法
查看>>
Python之SMTP发送邮件
查看>>
手动测试无法被取代的理由
查看>>