Посылает два байта, когда данные больше 7 бит? - PullRequest
0 голосов
/ 21 июня 2019

У меня странное поведение QSerialPort в QT Creator, когда я записываю байты, которые больше, чем число ASCII 127. Каким-то образом сначала всегда отправляется число 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());

Любой, ктоидея, что может вызвать эту проблему?

...