-
大小: 1.61MB文件类型: .zip金币: 1下载: 0 次发布日期: 2023-10-24
- 语言: C/C++
- 标签: serialPort c++ Qt
资源简介
c++与Qt串口通讯solution示例,解压后可以直接运行(vs2013+Qt5.5.1)
代码片段和文件信息
#include “comtest.h“
comTest::comTest(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
//查找可用串口
foreach(const QSerialPortInfo &info QSerialPortInfo::availablePorts())
{
QSerialPort serial;
serial.setPort(info);
if (serial.open(QIODevice::ReadWrite))
{
ui.PortBox->addItem(serial.portName());
serial.close();
}
}
ui.BaudBox->setCurrentIndex(1);// 默认波特率 9600
ui.BitBox->setCurrentIndex(3); // 默认数据位 8
}
comTest::~comTest()
{
}
void comTest::ReadData()
{
QByteArray buf;
buf = serial->readAll();
if (!buf.isEmpty())
{
//ui.AcceptText->insertPlainText(“0x“);
//int tmp = buf.toInt();
//ui.AcceptText->insertPlainText(QString::number(tmp));
ui.AcceptText->insertPlainText(buf);
ui.AcceptText->insertPlainText(“\t“);
}
buf.clear();
}
void comTest::on_OpenSerialButton_clicked()
{
qDebug() <text() << endl;
if (ui.OpenSerialButton->text() == QString::fromLocal8Bit(“打开串口“))
{
serial = new QSerialPort;
//设置串口名
serial->setPortName(ui.PortBox->currentText());
//设置打开串口
serial->open(QIODevice::ReadWrite);
//设置波特率
serial->setBaudRate(QSerialPort::Baud115200);
//设置数据位数
switch (ui.BitBox->currentIndex())
{
case 8:
serial->setDataBits(QSerialPort::Data8);
break;
case 5:
serial->setDataBits(QSerialPort::Data5);
break;
case 6:
serial->setDataBits(QSerialPort::Data6);
break;
case 7:
serial->setDataBits(QSerialPort::Data7);
break;
default:
break;
}
//设置校验位
switch (ui.ParityBox->currentIndex())
{
case 0:
serial->setParity(QSerialPort::NoParity);// 0校验
break;
case 1:
serial->setParity(QSerialPort::OddParity);// 奇校验
break;
case 2:
serial->setParity(QSerialPort::EvenParity);//偶校验
break;
default:
break;
}
// 设置停止位
switch (ui.StopBox->currentIndex())
{
case 1:
serial->setStopBits(QSerialPort::StopBits::OneStop);// 停止位设置为1
case 2:
serial->setStopBits(QSerialPort::TwoStop); // 停止位设置为2
break;
default:
break;
}
serial->setFlowControl(QSerialPort::FlowControl::NoFlowControl);// 设置为无流控制:一般有软件流,硬件流
//关闭设置菜单使能
ui.PortBox->setEnabled(false);
ui.BaudBox->setEnabled(false);
ui.BitBox->setEnabled(false);
ui.ParityBox->setEnabled(false);
ui.StopBox->setEnabled(false);
ui.OpenSerialButton->setText(QString::fromLocal8Bit(“关闭串口“));
//Qobject::connect(serial &QSerialPort::readyRead this &comTest::ReadData);
Qobject::connect(serial SIGNAL(readyRead()) this SLOT(ReadData()));
ui.SendButton->setEnabled(true);
}
else //关闭串口
{
serial->clear();
serial->close();
serial->deleteLater();
//恢复设置使能
ui.PortBox->setEnabled(true);
ui.BaudBox->setEnabled(true);
ui.BitBox->setEnabled(true);
ui.ParityBox->setEnabled(true);
ui.StopBox->setEnabled(true);
ui.OpenSerialButton->setText(QString::fromLocal8Bit(“打开串口“));
ui.
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-10-09 16:52 comTest\
文件 1321 2018-10-08 16:50 comTest.sln
文件 3370 2018-10-09 16:52 comTest\comtest.cpp
文件 584 2018-10-09 14:09 comTest\comtest.h
文件 67 2018-10-08 16:50 comTest\comtest.qrc
文件 13593 2018-10-09 14:15 comTest\comtest.ui
文件 21852 2018-10-09 13:52 comTest\comTest.vcxproj
文件 2648 2018-10-08 16:51 comTest\comTest.vcxproj.filters
文件 839 2018-10-09 11:31 comTest\comTest.vcxproj.user
目录 0 2018-10-09 13:09 comTest\GeneratedFiles\
目录 0 2018-10-09 13:09 comTest\GeneratedFiles\Debug\
文件 4006 2018-10-09 14:11 comTest\GeneratedFiles\Debug\moc_comtest.cpp
文件 1396 2018-10-09 13:09 comTest\GeneratedFiles\qrc_comtest.cpp
目录 0 2018-10-08 16:50 comTest\GeneratedFiles\Release\
文件 15892 2018-10-09 14:15 comTest\GeneratedFiles\ui_comtest.h
文件 173 2018-10-08 16:50 comTest\main.cpp
目录 0 2018-10-08 16:50 comTest\Resources\
目录 0 2018-10-08 16:51 comTest\x64\
目录 0 2019-01-22 11:28 comTest\x64\Debug\
文件 1318 2018-10-09 13:09 comTest\x64\Debug\comTest.Build.CppClean.log
文件 2392 2019-01-22 11:28 comTest\x64\Debug\comTest.log
文件 624195 2019-01-22 11:28 comTest\x64\Debug\comtest.obj
目录 0 2019-01-22 11:28 comTest\x64\Debug\comTest.tlog\
文件 4366 2019-01-22 11:28 comTest\x64\Debug\comTest.tlog\cl.command.1.tlog
文件 70094 2019-01-22 11:28 comTest\x64\Debug\comTest.tlog\CL.read.1.tlog
文件 1888 2019-01-22 11:28 comTest\x64\Debug\comTest.tlog\CL.write.1.tlog
文件 156 2019-01-22 11:28 comTest\x64\Debug\comTest.tlog\comTest.lastbuildstate
文件 1698 2018-10-09 14:15 comTest\x64\Debug\comTest.tlog\custombuild.command.1.tlog
文件 430 2018-10-09 14:15 comTest\x64\Debug\comTest.tlog\custombuild.read.1.tlog
文件 674 2018-10-09 14:15 comTest\x64\Debug\comTest.tlog\custombuild.write.1.tlog
文件 2072 2019-01-22 11:28 comTest\x64\Debug\comTest.tlog\li
............此处省略11个文件信息
相关资源
- C++ 实现ping代码
- Hash算法之SHA1实现c++
- 龚建伟MFC串口通信
- 网络嗅探器源代码--C++
- VC++/MFC扫雷源代码
- boost c++ application development cookbook 2nd
- C++课程设计贪吃蛇源码+课设报告
- C++程序发送邮件可带附件
- C++程序设计题解与上机指导.pdf
- C++的pb_ds库在OI中的应用.pdf )
- VC++上位机API编程转
- C++图书管理系统包括源码,论文,以
- C++ 写的串口通信 DLL文件
- ECOS求解器求解二阶锥问题C语言程序
- 五子棋mfc,带ai,附教程
- c++ 编写的自动售货机程序
- accelerated c++ 英文版及源码
- 摄影测量 单向空间后方交会程序
- DICOM图像c++打开程序
- VC++药品信息管理系统源码
- c++数据结构实现经典背包问题
- C++矩阵处理工具——Eigen3
- 数据结构课程设计:表达式求值,C
- 《Visual C++ OpenGL DirectX三维动画编程宝
- 农夫过河狼,羊,菜C++实现
- n皇后动态可视化 简单 C++ MFC
- opencv视觉定位,C++编写的
- svm算法源代码VC++实现
- QT代码
- opengl做的迷宫游戏,基于C++
评论
共有 条评论