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

如下所示

相关推荐
烤麻辣烫9 分钟前
黑马程序员苍穹外卖(新手)DAY6
java·开发语言·学习·spring·intellij-idea
友友马35 分钟前
『QT』窗口 (一)
开发语言·数据库·qt
APIshop39 分钟前
Python 零基础写爬虫:一步步抓取商品详情(超细详解)
开发语言·爬虫·python
AI科技星1 小时前
为什么宇宙无限大?
开发语言·数据结构·经验分享·线性代数·算法
Appreciate(欣赏)2 小时前
JAVA使用poi类读取xlxs文件内容拼接成添加数据SQL
java·开发语言·sql
oioihoii2 小时前
性能提升11.4%!C++ Vector的reserve()方法让我大吃一惊
开发语言·c++
毕设源码-朱学姐2 小时前
【开题答辩全过程】以 基于JAVA的恒星酒店客房管理系统为例,包含答辩的问题和答案
java·开发语言
思密吗喽2 小时前
景区行李寄存管理系统
java·开发语言·spring boot·毕业设计·课程设计
Rust语言中文社区2 小时前
【Rust日报】Dioxus 用起来有趣吗?
开发语言·后端·rust
小灰灰搞电子2 小时前
Rust Slint实现颜色选择器源码分享
开发语言·后端·rust