QT5串口编程 发送返回数据
2018-03-02 16:16
477 查看
Qt5 串口通信 发送接收 源码例程
例程下载源码:
源码下载
下面介绍源码:
1. 添加到IntSertest.pro
QT += serialport;
如图所示:
2. MainWindow函数中添加:initSeialPort();
如图:
3.在析构函数中添加:
serial.close();
如图:
3. 在mainwindow.h中 按照图示添加:
(1)
#include <QSerialPort>
#include <QSerialPortInfo>
(2)
private:
QSerialPort serial;
void initSeialPort();
private slots:
void serialRead();
void on_comboBox_currentIndexChanged(const QString &arg1);
void on_pushButton_clicked();
void MainWindow::initSeialPort()
{
connect(&serial,SIGNAL(readyRead()),this,SLOT(serialRead())); //连接槽
//get name for choose
QList<QSerialPortInfo> infos = QSerialPortInfo::availablePorts();
if(infos.isEmpty())
{
ui->comboBox->addItem("无效");
return;
}
ui->comboBox->addItem("串口");
foreach (QSerialPortInfo info, infos) {
ui->comboBox->addItem(info.portName());
}
}
void MainWindow::on_comboBox_currentIndexChanged(const QString &arg1)
{
QSerialPortInfo info;
QList<QSerialPortInfo> infos = QSerialPortInfo::availablePorts();
int i = 0;
foreach (info, infos) {
if(info.portName() == arg1) break;
i++;
}
if(i != infos.size ()){//can find
ui->label->setText("[已开启]");
serial.close();
serial.setPort(info);
serial.open(QIODevice::ReadWrite); //读写打开
}
else
{
serial.close();
ui->label->setText("[出错]");
}
}
void MainWindow::serialRead()
{
ui->textEdit_2->append(serial.readAll());
}
void MainWindow::on_pushButton_clicked()
{
if(ui->lineEdit->text().isEmpty())
return;
serial.write(ui->lineEdit->text().toLatin1());
}
例程下载源码:
[u]下载[/u]
例程下载源码:
源码下载
下面介绍源码:
1. 添加到IntSertest.pro
QT += serialport;
如图所示:
2. MainWindow函数中添加:initSeialPort();
如图:
3.在析构函数中添加:
serial.close();
如图:
3. 在mainwindow.h中 按照图示添加:
(1)
#include <QSerialPort>
#include <QSerialPortInfo>
(2)
private:
QSerialPort serial;
void initSeialPort();
private slots:
void serialRead();
void on_comboBox_currentIndexChanged(const QString &arg1);
void on_pushButton_clicked();
void MainWindow::initSeialPort()
{
connect(&serial,SIGNAL(readyRead()),this,SLOT(serialRead())); //连接槽
//get name for choose
QList<QSerialPortInfo> infos = QSerialPortInfo::availablePorts();
if(infos.isEmpty())
{
ui->comboBox->addItem("无效");
return;
}
ui->comboBox->addItem("串口");
foreach (QSerialPortInfo info, infos) {
ui->comboBox->addItem(info.portName());
}
}
void MainWindow::on_comboBox_currentIndexChanged(const QString &arg1)
{
QSerialPortInfo info;
QList<QSerialPortInfo> infos = QSerialPortInfo::availablePorts();
int i = 0;
foreach (info, infos) {
if(info.portName() == arg1) break;
i++;
}
if(i != infos.size ()){//can find
ui->label->setText("[已开启]");
serial.close();
serial.setPort(info);
serial.open(QIODevice::ReadWrite); //读写打开
}
else
{
serial.close();
ui->label->setText("[出错]");
}
}
void MainWindow::serialRead()
{
ui->textEdit_2->append(serial.readAll());
}
void MainWindow::on_pushButton_clicked()
{
if(ui->lineEdit->text().isEmpty())
return;
serial.write(ui->lineEdit->text().toLatin1());
}
例程下载源码:
[u]下载[/u]
相关文章推荐
- Qt模拟串口-tcp连接发送数据
- 在VSPM下用C#串口编程发送数据
- C#串口编程问题:一个测试数据怎么拆分成2个字符串,做了2次发送?
- QT串口程序已16进制接受和发送数据
- Java串口编程:串口数据的发送与监听读取
- S 串口编程 详解4 串口发送数据
- C#通讯编程入门--串口数据接收发送实例
- QT5 串口(com)通信_16进制数发送与接收以及接收数据提取
- QT 串口以十六进制发送数据
- Qt从零开始制作串口调试助手-(第十二章、串口数据发送)-Creator_Ly
- 树莓派3B在Qt下使用串口发送数据
- Qt之串口编程--使用事件驱动来触发接收数据
- C#串口通信—向串口发送数据,同步接收返回数据
- Qt 实时读串口数据,并将读到的数据从网口发送出去
- Qt中串口16进制发送和接收数据
- QT串口程序已16进制接受和发送数据
- Java串口编程:串口数据的发送与监听读取
- C# 串口编程二 应用--接受发送数据
- 【C#串口编程计划】C#串口协议解析 -- 二进制数据
- C#开启关闭串口,发送数据