这是我没想到的事情。我需要编写一个小应用程序,通过串行端口发送值,但值超过 127。在此处查看 Qt 文档后:http://qt-project.org/doc/qt-5.1/qtserialport/qserialport.html - 除非我遗漏了一些明显的东西,否则 QSerialPort::write() 方法似乎不支持高于 127(十进制)的任何值。
例如,我碰巧需要发送 0xFF(十进制 255),那么当这些方法似乎只支持“有符号”字符时(除非我遗漏了某些内容),我该如何发送它。我正在寻找一个接受“int”或无符号字符的 write() 方法版本,它可以让我的十进制数达到 255。
virtual qint64 writeData(const char * data, qint64 maxSize)
看,没有“unsigned char *”,也没有“int”,那么我如何发送一个包含 5 个值的数组,其中每个值都高于 127(十进制)?
最佳答案
它按原样发送数据,有符号或无符号是对方解释的问题。 -1 有符号字节为 0xff,与 255 无符号相同。
关于c++ - QSerialPort::write() - 仅带符号值? (十进制最大 127)?我需要发送 0xFF(255 dec),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19515922/