使用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");
? ? }
總結
以上是生活随笔為你收集整理的使用QT-QSerialport打不开串口的原因的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么蚂蚁金服架构师建议从Zookeep
- 下一篇: “钉钉打卡神器”开发者被判五年半!