初学qt,在读取串口数据时遇到了一点问题,就是我用arduino写好的程序一直往电脑发数据,在用串口助手看时是正确的显示结果,但是我写的读取串口的程序读出来全是0,不知道是什么原因,代码及结果附在下面。
#include "mainwindow.h"
#include "init.h"
#include <QApplication>
#include <QSerialPortInfo>
#include <QtSerialPort>
#include <QDebug>
#define BUFFSIZE 100
main(int argc, char *argv[])
{
QByteArray Data="SA";
///串口初始化
QSerialPort *serial = new QSerialPort("COM3");
// QObject::connect(serial, SIGNAL(readyRead()), this, SLOT(ReadData()));
serial->setBaudRate(QSerialPort::Baud9600);
serial->setParity(QSerialPort::NoParity);
serial->setDataBits(QSerialPort::Data8);
serial->setStopBits(QSerialPort::OneStop);
serial->setFlowControl(QSerialPort::NoFlowControl);
if (serial->open(QIODevice::ReadWrite)) {
qDebug()<<"open success";
} else {
qDebug()<<"open failed";
}
while(1){
// if(serial->bytesAvailable()>BUFFSIZE){
Data=serial->readAll();
qDebug()<<Data.toInt()<<"1 ";
// }
}
return 0;
}