#include "serailport.h" #include using namespace std; SerailPort::SerailPort(QObject *parent) : QObject(parent) { serial = new QSerialPort(); } QStringList SerailPort::getAllPorts() { QStringList list; QList postList = QSerialPortInfo::availablePorts(); for (auto &var:postList) { if(!var.isBusy()) //不添加繁忙的串口 { list.append(var.portName()); //list.append(var.portName()+":"+var.description()); } } return list; } void SerailPort::readyRead() { #if 1 QByteArray recArray = serial->readAll(); QString str = QString::fromLocal8Bit(recArray.trimmed()); printf("\r\n"); std::cout <setText(str); str += " OK!"; QByteArray sendArray = str.toLatin1(); serial->write(sendArray); printf("\r\n"); #endif #if 0 QByteArray recArray = serial->readAll(); recArray = recArray.toHex(); int length=recArray.length(); for(int i=0;i<=length/2;i++) { //recArray.insert(2+3*i,' '); } QString str = QString::fromLocal8Bit(recArray.trimmed()); printf("\r\n"); std::cout <write(sendArray); }