QIODevice::ReadWrite | QIODevice::Unbuffered - 不支持的打开模式
QIODevice::ReadWrite | QIODevice::Unbuffered - Unsupported open mode
http://doc.qt.io/qt-5/qserialport.html#open
Warning: The mode has to be QIODevice::ReadOnly, QIODevice::WriteOnly, or QIODevice::ReadWrite. Other modes are unsupported.
以下代码没有打开串口。
if(serialPort.open (QIODevice::ReadWrite | QIODevice::Unbuffered))
{
qDebug() << "asdasdas";
serialPort.setDataBits(QSerialPort::Data8);
serialPort.setParity(QSerialPort::NoParity);
serialPort.setStopBits(QSerialPort::OneStop);
}
else
{
qDebug() << "QSerialPort::SerialPortError: " << serialPort.errorString();
}
unbuffered flag的使用方法是什么?
what is the way to use the unbuffered flag?
有none。 QSerialPort
不支持
唉,你关于缓冲减慢你的假设是没有根据的,除非你有证明这个问题的测量。我敢打赌你没有也不会有这样的测量。你还有其他问题。串行端口通常带宽相对较慢,单 megabits/second 在缓冲方面不是问题,除非您正在做一些导致缓冲具有二次成本的事情,而不是具有非常低比例常数的线性成本它通常有。
My gui slows down while data transmission
原则上是不可能的。因为所有 I/O 都变成了异步的。问题很可能出在您的代码中。
此外,您还没有提供有关Qt版本和您的OS的信息。
PS: 无缓冲模式对你没有帮助。另外QSerialPort不支持,错误码直接给你说了!你到底懂不懂呢?
http://doc.qt.io/qt-5/qserialport.html#open
Warning: The mode has to be QIODevice::ReadOnly, QIODevice::WriteOnly, or QIODevice::ReadWrite. Other modes are unsupported.
以下代码没有打开串口。
if(serialPort.open (QIODevice::ReadWrite | QIODevice::Unbuffered))
{
qDebug() << "asdasdas";
serialPort.setDataBits(QSerialPort::Data8);
serialPort.setParity(QSerialPort::NoParity);
serialPort.setStopBits(QSerialPort::OneStop);
}
else
{
qDebug() << "QSerialPort::SerialPortError: " << serialPort.errorString();
}
unbuffered flag的使用方法是什么?
what is the way to use the unbuffered flag?
有none。 QSerialPort
不支持
唉,你关于缓冲减慢你的假设是没有根据的,除非你有证明这个问题的测量。我敢打赌你没有也不会有这样的测量。你还有其他问题。串行端口通常带宽相对较慢,单 megabits/second 在缓冲方面不是问题,除非您正在做一些导致缓冲具有二次成本的事情,而不是具有非常低比例常数的线性成本它通常有。
My gui slows down while data transmission
原则上是不可能的。因为所有 I/O 都变成了异步的。问题很可能出在您的代码中。
此外,您还没有提供有关Qt版本和您的OS的信息。
PS: 无缓冲模式对你没有帮助。另外QSerialPort不支持,错误码直接给你说了!你到底懂不懂呢?