使用QT-QSerialport打不开串口的原因

首先已经确保串口转USB驱动已经装好,

1,可能是用户没有权限,到/dev目录中 使用chmod,赋予权限

2,可能是打开QT的过程中影响了波特率,因此一开始设置了波特路后执行open后再设置一边波特率,如下

    port = new QSerialPort(this);  
    buff = new QByteArray;  
    port->setPortName("/dev/ttyUSB4");
    connect(port,&QSerialPort::readyRead,this,&Serial::ReadData);
    port->setBaudRate(QSerialPort::Baud115200);  //波特率
    port->setDataBits(QSerialPort::Data8);     //数据位
    port->setParity(QSerialPort::NoParity);    //无奇偶校验
    port->setStopBits(QSerialPort::OneStop);   //无停止位
    port->setFlowControl(QSerialPort::NoFlowControl);  //无控制
    bool flag=port->open(QIODevice::ReadWrite);          //读写打开
    if(flag)
    {
        qDebug()<<"port->open(QIODevice::ReadWrite)";
        qDebug("serial is open");
        port->setBaudRate(QSerialPort::Baud115200);  //波特率
        port->setDataBits(QSerialPort::Data8);     //数据位
        port->setParity(QSerialPort::NoParity);    //无奇偶校验
        port->setStopBits(QSerialPort::OneStop);   //无停止位
        port->setFlowControl(QSerialPort::NoFlowControl);  //无控制
    }
    else
    {
        qDebug("serial ins not open");
    }

你可能感兴趣的:(嵌入式)