qt里QtSerialPort编程

QT +=serialport

#include <QtSerialPort/QSerialPort>

#include <QtSerialPort/QSerialPortInfo>

QSerialPort * testport=new QSerialPort();

if(testport->isOpen()){

testport->clear();

testport->close();

}

testport->setPortName(portname);

testport->setBaudRate(boud.toInt()); //设置波特率

testport->setDataBits(QSerialPort::Data8); //8个数据位

testport->setParity(QSerialPort::NoParity); //无校验位

testport->setStopBits(QSerialPort::OneStop); //一个停止位

testport->setFlowControl(QSerialPort::NoFlowControl);

if(!testport->open(QIODevice::ReadWrite)){

qDebug()<<"串口打开失败";

war->warnxianshi("请更新串口!!!","串口打开失败!");

war->showNormal();

// QMessageBox::information(this,"串口打开失败","请更新串口!!!!");

复制代码
  testport->setDataTerminalReady(true);
  connect(testport,SIGNAL(readyRead()),this,SLOT(recvdeal()));     //绑定串口读取数据槽

串口的读取槽:

void MainWindow:: recvdeal()

{

QString s=testport->readAll();

}

comboBox串口刷新:

ui->comboBox->clear();

foreach(const QSerialPortInfo & info,QSerialPortInfo::availablePorts()){

ui->comboBox->addItem(info.portName());

}

ui->comboBox->setCurrentIndex(-1);

相关推荐
郝学胜-神的一滴12 分钟前
C++ Templates 03:手写一个Stack看透模板核心机制
开发语言·c++·产品运营·软件工程·产品经理
(Charon)26 分钟前
【C/C++面试】手写内存池:从空闲链表到内存申请与释放
java·开发语言·windows
派小心.29 分钟前
页面关闭前埋点丢失:sendBeacon验收
开发语言·php
Java后端的Ai之路39 分钟前
Python 进阶探索25 - difflib模块之文本对比
开发语言·python·django·哈希算法·difflib
Evand J42 分钟前
【MATLAB例程】三维快速扩展随机树(RRT)路径规划与到达角(AOA)定位算法|三维避障+定位仿真。附下载链接
开发语言·算法·matlab·路径规划·定位
空堂与归43 分钟前
GPT-6.1 Sol 来了:1/5 价逼近 Astra 级
开发语言·人工智能·gpt·ai
程序员老陆43 分钟前
C++ 悬空指针:从原理到工程级解决方案
开发语言·c++·程序设计
释厄6231 小时前
BSD 简单真理循环论——简单真理 × 复杂循环=大一统
android·开发语言·kotlin
CS创新实验室1 小时前
Python 的鸭子类型
开发语言·windows·python
1024奇点1 小时前
【仓颉语言入门 · 第24课】
开发语言·ide·开源