#include "qtserialport.h" int QtSerialport::OpenSerialPort(string portName, int baudrate) { QList infos = QSerialPortInfo::availablePorts(); for (int i=0; iisOpen())//如果串口已经打开了 先给他关闭了 { m_serial->clear(); m_serial->close(); } m_serial->setPortName(QString::fromStdString(portName)); m_serial->open(QIODevice::ReadWrite); bool x=SetBaudrate(baudrate); if(x) { std::cout<<"波特率被成功设置为:"<baudRate()<close(); return 0; } int QtSerialport::SetBaudrate(int baudrate) { bool x=m_serial->setBaudRate(baudrate); return 0; } //qint64 write(const char *data, qint64 len); int QtSerialport::SendData1(const char *data, const unsigned int len) { QByteArray tmp(data, len); // QByteArray tmp2 = tmp.toHex(); //QIODevice::write(const char *data, qint64 maxSize) int num = m_serial->write(tmp); bool re = m_serial->waitForBytesWritten(); if(re) { return num; } else { return -1; } } int QtSerialport::SendData(const char chrSendBuffer[],const unsigned short usLen) { int num = m_serial->write(chrSendBuffer, usLen); return num; } int QtSerialport::ReadData(char * receivedData) { FILE * fileHandle=fopen("D:\\cpp_qtcreator\\witmotionDll_use-build\\debug\\test.dat","w+b"); QByteArray requestData; while (true) { //std::cout<<"SbgRecorder::startRecordSbg--------------:"<waitForReadyRead()) { //requestData.resize(m_serial->size()); requestData = m_serial->readAll(); std::cout<<"size: "<< requestData.size() <