QT串口通信问题

夕阳追脚尖 2019-08-15 04:29:18
首先本人小白一个,第一次听说串口,若问出弱智问题恳请大家嘴下留情。
首先,我从网上copy了 一份QT的串口代码 在扫描串口的时候竟然什么都没有(可能是没有串口?),就是那个下拉框中没有数据
而且我也不知道这个东西是在跟谁通信0.0
也不知道这个东西是不是除了一台笔记本以外还需要别的东西 希望大佬们帮帮我
我的环境: win7笔记本 QT5.13


#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
foreach(const QSerialPortInfo &info,QSerialPortInfo::availablePorts() )
{
qDebug()<<"Name :"<<info.portName()<<endl;
qDebug()<<"Description :"<<info.description()<<endl;
qDebug()<<"Manufacturer:"<<info.manufacturer()<<endl;
QSerialPort serial;
serial.setPort(info);
if(serial.open(QIODevice::ReadWrite))
{
ui->comboBox->addItem(info.portName());
serial.close();
}
}
myserialport=new QSerialPort;
connect(ui->pushButton_op,SIGNAL(clicked()),this,SLOT(btn_op()));
connect(ui->pushButton_cls,SIGNAL(clicked()),this,SLOT(btn_cls()));
connect(ui->pushButton_send,SIGNAL(clicked()),this,SLOT(btn_send()));
}

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

void MainWindow::btn_op()
{
myserialport->setPortName(ui->comboBox->currentText());
myserialport->open(QIODevice::ReadWrite);
myserialport->setBaudRate(ui->lineEdit->text().toInt());
myserialport->setDataBits(QSerialPort::Data8);
myserialport->setParity(QSerialPort::NoParity);
myserialport->setStopBits(QSerialPort::OneStop);
myserialport->setFlowControl(QSerialPort::NoFlowControl);
connect(myserialport,SIGNAL(readyRead()),this,SLOT(readCom()));
}
void MainWindow::btn_cls()
{
myserialport->close();
}
void MainWindow::readCom()
{
QByteArray data=myserialport->readAll();
ui->textBrowser->append(data);
}
void MainWindow::btn_send()
{
myserialport->write(ui->lineEdit_send->text().toLatin1());
}

...全文
158 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,316

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧