• 大小: 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\link.command.1.tlog
............此处省略11个文件信息

评论

共有 条评论