12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #include "serailport.h"
- #include<iostream>
- using namespace std;
- SerailPort::SerailPort(QObject *parent) : QObject(parent)
- {
- serial = new QSerialPort();
- }
- QStringList SerailPort::getAllPorts()
- {
- QStringList list;
- QList<QSerialPortInfo> 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 <<str.toStdString()<< endl;//必须加endl才能输出
- // pRecvLineEdit->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 <<str.toStdString()<< endl;//必须加endl才能输出
- printf("\r\n");
- // for (int i = 0; i < recArray.size(); i++) {
- // char tmp = recArray[i];
- // std::cout <<tmp<< endl;//必须加endl才能输出
- // }
- #endif
- }
- void SerailPort::sendtext(QString strsend)
- {
- QByteArray sendArray = strsend.toLatin1();
- serial->write(sendArray);
- }
|