c++ - QSerialPort::write() - 仅带符号值? (十进制最大 127)?我需要发送 0xFF(255 dec)

标签 c++ qt qtserialport

这是我没想到的事情。我需要编写一个小应用程序,通过串行端口发送值,但值超过 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/

相关文章:

c++ - QML 简单扩展不起作用

qt - 如何在SwipeView中防止页面手动滑动

c# - 将复杂的结构(带有内部结构数组)从 C# 传递到 C++

c++ - 写入二进制文件时空格过多

c++ - 创建小部件的指南

c++ - Qt 第 3 方库静态链接 (QtSerialPort)

c++ - QSerialPort 新信号槽语法没有匹配的成员函数调用 'connect'

c++ - 从数组中提取子序列

c++ - 如何在 Qt 应用程序中加载文件时显示 "waiting"?

c++ - QSerialPort::readLine 在 MS Windows 上无法正常工作