当我记下大于ASCII数字127的字节时,我在QT Creator中有一个奇怪的QSerialPort行为。不知何故,它总是先发送数字194,然后才是我实际要传输的数字。因此,例如对于数字150,它发送[194,150]。
串行接口已使用8位数据正确初始化,因此应该可以正常工作:
serialPort = new QSerialPort(this);
serialPort->setPortName(str);
serialPort->setBaudRate(QSerialPort::Baud115200);
serialPort->setDataBits(QSerialPort::Data8);
serialPort->setParity(QSerialPort::NoParity);
serialPort->setStopBits(QSerialPort::OneStop);
serialPort->setFlowControl(QSerialPort::NoFlowControl);
数据是这样写的:
serialPort->write(QString(QChar(150)).toStdString().c_str());
任何人都知道,什么可能导致此问题?