Arduino and QtSerialPort opening always false
我正在尝试将arduino与qt 5.1的qserialport连接,但是如果有人知道另一种方法或其他库或建议使其工作,则open的方法总是返回false值,请让我知道XD我不知道这里的源代码有什么问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #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(); } |
尝试一下:
main.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include <QtSerialPort/QtSerialPort> #include <iostream> int main() { QSerialPort serialPort; serialPort.setPortName("yourportpath"); // Hard code it for a test if (!serialPort.open(QIODevice::ReadOnly)) { std::cout <<"Error:" << serialPort.error() << std::endl; return 1; } return 0; } |