Qt串口通信简单编程步骤(QSerialPort)

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

程序编写步骤:

1.环境配置

在工程文件中添加

QT += serialport

在头文件中添加

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

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();

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

  • 6
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值