-
大小: 1.61MB文件类型: .zip金币: 2下载: 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个文件信息
相关资源
- qTox (基于 peer-to-peer )
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- QT上位机
- qt媒体播放器
- QT5开发及源代码
- qt完整项目
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- qt进度条(RoundProgressBar)
- Qt的纽带风格界面实现(Office Ribbon风
- qt 实现画板
- QT Hisi demo
- 基础qt数据库读取和显示
评论
共有 条评论