QT实现串口透传的功能

在一些产品的开发的时候,需要将一个串口的数据发送给另外一个串口进行转发。

具体的代码如下:

cpp 复制代码
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    initport();
    connect(m_port1,&QSerialPort::readyRead, this,&MainWindow::readData);
    connect(m_port2,&QSerialPort::readyRead, this,&MainWindow::readData2);

}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::initport()
{
    m_port1 = new QSerialPort();
    m_port2 = new QSerialPort();

    m_port1->setBaudRate(115200);
    m_port1->setDataBits(QSerialPort::Data8);
    m_port1->setParity(QSerialPort::NoParity);
    m_port1->setStopBits(QSerialPort::OneStop);
    m_port1->setFlowControl(QSerialPort::NoFlowControl);
    m_port1->setPortName("COM25");

    m_port2->setBaudRate(115200);
    m_port2->setDataBits(QSerialPort::Data8);
    m_port2->setParity(QSerialPort::NoParity);
    m_port2->setStopBits(QSerialPort::OneStop);
    m_port2->setFlowControl(QSerialPort::NoFlowControl);
    m_port2->setPortName("COM21");

    m_port1->open(QIODevice::ReadWrite);
    m_port2->open(QIODevice::ReadWrite);


}

void MainWindow::readData()
{
    QByteArray array = m_port1->readAll();
    ui->textEdit->append(array);
}

void MainWindow::readData2()
{
    QByteArray array = m_port2->readAll();
    ui->textEdit_2->append(array.toHex());
    m_port1->write(array);
}

如下所示

相关推荐
lly2024062 小时前
C 标准库 - `<stdio.h>`
开发语言
沫璃染墨2 小时前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
jwn9992 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel
迷藏4942 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
功德+n3 小时前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
明日清晨3 小时前
python扫码登录dy
开发语言·python
我是唐青枫3 小时前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
开发语言·c#·.net
JJay.3 小时前
Kotlin 高阶函数学习指南
android·开发语言·kotlin
bazhange3 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
jinanwuhuaguo3 小时前
截止到4月8日,OpenClaw 2026年4月更新深度解读剖析:从“能力回归”到“信任内建”的范式跃迁
android·开发语言·人工智能·深度学习·kotlin