所以..我正在使用此代码从powertek pa4400a读取一些信息,有时我可以毫无问题地读取它,但有时我会得到奇怪的答案。我什至无法理解字符的含义。
QSerialPort asd;
asd.setBaudRate(QSerialPort::Baud19200);
asd.setDataBits(QSerialPort::Data8);
asd.setFlowControl(QSerialPort::NoFlowControl);
asd.setParity(QSerialPort::NoParity);
asd.setStopBits(QSerialPort::OneStop);
asd.setPortName("ttyUSB0");
asd.open(QSerialPort::ReadWrite);
asd.write(com);
asd.waitForReadyRead(10000);
QString ans = asd.readAll();
ans字符串应如下所示:
"00.00E+0; 00.00E+0;+00.00E+0; 00.00E+0; 000:00:00;<<END OF DATA>>"
但是我得到这样的事情:
"\xFB"
或其他不正确的东西。
很多次我的确得到了正确的答案,但是发生了一些事情,因此我无法阅读信息。
最佳答案
这里的问题是我向其发送命令的机器正在使用HardwareControl,但是我使用了NoFlowControl,这弄乱了我的答案。
关于c++ - 串行端口上的答案失真,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35222087/