QT5串口编程 发送返回数据


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

}

 

例程下载源码:

下载


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值