【发布时间】:2013-10-30 05:05:37
【问题描述】:
我正在尝试将 arduino 与 qt 5.1 的 qserialport 连接,但是如果有人知道另一种方法或其他库或使其工作的建议,方法 open 总是返回 false 值,请让我知道 XD 我不知道源代码有什么问题
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->serial = new QSerialPort(this);
foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) {
qDebug() << "Name : " << info.portName();
qDebug() << "Description : " << info.description();
qDebug() << "Manufacturer: " << info.manufacturer();
this->serial->setPort(info);
}
if(this->serial->open(QIODevice::ReadWrite)){
serial->setBaudRate(QSerialPort::Baud9600);
serial->setDataBits(QSerialPort::Data8);
serial->setParity(QSerialPort::NoParity);
serial->setStopBits(QSerialPort::OneStop);
serial->setFlowControl(QSerialPort::NoFlowControl);
QObject::connect(&serial,SIGNAL(readyRead()),this,SLOT(serialReceived()));
}else{
qDebug() << "Couldn't open port";
}
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::serialReceived(){
serial->readAll();
}
【问题讨论】:
-
最后一个
info传递是否正确?检查 serial->errorString() 是否包含错误详细信息。 -
您正在对系统上的所有串行端口进行迭代,您确定只有一个吗?
标签: qt arduino qtserialport