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);
}

如下所示

相关推荐
wuyk5557 小时前
第2章:六步换相原理全解+STM32工程实战
c语言·开发语言·stm32·单片机·嵌入式硬件
hey_sml7 小时前
JAVA每日一学---CompletableFuture中thenApply与thenCompose区别详解
java·开发语言
萧瑟余晖8 小时前
Java深入解析篇十七之SpringCloud
java·开发语言
ttod_qzstudio9 小时前
Java 常用语法极简通关(五):类与对象——字段、方法、构造器、this 与 static
java·开发语言·python
我是小灰灰吖10 小时前
QT在线安装器使用指南:从下载到配置完整教程
linux·qt·ubuntu
萧瑟余晖10 小时前
Java深入解析篇十七之Spring Security
java·开发语言·spring
C++ 老炮儿的技术栈12 小时前
从 Qt Designer 属性编辑器的层级可以看到继承链
c语言·数据库·c++·qt·sqlite·visual studio
二十雨辰13 小时前
[Java]-Spring面试题
java·开发语言
_oP_i13 小时前
python 后缀 mjs文件
开发语言·python
萧瑟余晖13 小时前
Java深入解析篇二十二之虚拟线程
java·开发语言