串口一直连接不上,DL们看看哪里出了问题,初学者已经卡三天了,看一下感恩您(最下面为全部代码):
pro文件
h
cpp
想要pushButton_lianjie_port点击按钮实现串口连接
下面为全部了:
h文件
#ifndef TEMPER_H
#define TEMPER_H
#include <QMainWindow>
#include <dialog.h>
#include <canshu.h>
#include <QSerialPort> //类,提供访问串口的功能
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui { class temper; }
QT_END_NAMESPACE
class temper : public QMainWindow
{
Q_OBJECT
public:
temper(QWidget *parent = nullptr);
~temper();
private slots:
void on_pushButton_wendu_clicked();
void on_pushButton_canshu_clicked();
void pushButton_lianjie_port(bool);
void on_pushButton_duankai_clicked();
private:
Ui::temper *ui;
Dialog*dialog;
Dialog*canshu;
QSerialPort global_port;//定义串口
bool OpenUart();
void system_init();//系统初始化
};
#endif // TEMPER_H
cpp文件
#include "temper.h"
#include "ui_temper.h"
#include "dialog.h"
#include "canshu.h"
#include <QSerialPortInfo>
#include <QSerialPort> //类,提供访问串口的功能
#include <QDebug> //输出,printf
#include <QWidget>
#include <QtGui>
#include <QFileDialog>
#include <QMessageBox>
temper::temper(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::temper)
{
ui->setupUi(this);
auto listPorts = QSerialPortInfo::availablePorts();
// 动态填充当前所有可用Ports
for(auto &pInfo :listPorts)
{
QString strPortsName = pInfo.portName();
ui->comboBox_Com->addItem(strPortsName);
}
connect(ui->pushButton_lianjie,&QPushButton::clicked,this,&temper::pushButton_lianjie_port);
}
temper::~temper()
{
delete ui;
}
void temper::on_pushButton_wendu_clicked()
{
dialog = new Dialog(this);
dialog->setModal(false);
dialog->show();
}
void temper::on_pushButton_canshu_clicked()
{
canshu = new Dialog(this);
canshu->setModal(false);
canshu->show();
}
void temper::pushButton_lianjie_port(bool)
{
global_port.setBaudRate(QSerialPort::Baud115200);
global_port.setParity(QSerialPort::NoParity);
global_port.setDataBits(QSerialPort::Data8);
global_port.setStopBits(QSerialPort::OneStop);
global_port.open(QIODevice::ReadWrite);
ui->lab_status->setText("Connected");
// connect( &global_port, &QIODevice::readyRead, this, &temper::on_pushButton_lianjie_clicked);
// if(global_port.open(QIODevice::ReadWrite)==true)
// {
// QObject::connect(global_port, &QSerialPort::readyRead, this, on_pushButton_lianjie_clicked);
// }
}
void temper::on_pushButton_duankai_clicked()
{
global_port.close();
ui->lab_status->setText("Disconnected");
}
点击连接,打开虚拟串口并没有显示