学者 |
2017-04-10 17:45 |
串口参数false,最终导致串口打开失败,错误码为PermissionError,求大神打救。
UartDataHandle::UartDataHandle(const QString &name,QObject *parent) : QObject(parent) {
qDebug() << name; //设置串口参数 mySerial = new QSerialPort(name); //判断串口是否已经打开d if( !mySerial->isOpen() ) { //判断串口是否成功打开d if( mySerial->open(QIODevice::ReadWrite) && mySerial->setBaudRate(QSerialPort::Baud115200) && mySerial->setDataBits(QSerialPort::Data8) && mySerial->setParity(QSerialPort::NoParity) && mySerial->setStopBits(QSerialPort::OneStop) && mySerial->setFlowControl(QSerialPort::NoFlowControl) ) { qDebug() << "open serial success!!!"; if(mySerial->isReadable()) { qDebug() << "can read serial success!!!"; QObject::connect(mySerial,SIGNAL(readyRead()),this,SLOT(HandleDataFromSerial())); } }else { qDebug() << "name :" << mySerial->portName() << "\nbaudrate :" << mySerial->baudRate() << "\ndatabits :" << mySerial->dataBits() << "\nparity :" << mySerial->parity() << "\ntopbis :" << mySerial->stopBits() << "\nflowcontrol :" << mySerial->flowControl(); qDebug() << "error code :" << QString("%1").arg(mySerial->error()) << "\nerror reason :" << mySerial->errorString() ; } }else { qDebug() << "the serial was open!!!"; QObject::connect(mySerial,SIGNAL(readyRead()),this,SLOT(HandleDataFromSerial())); }
//crc16 init数据检验 Crc16Init(); }
|
|