如何将十六进制字符串作为无符号字节[]发送到BLE特性?

时间:2018-08-20 11:53:01

标签: android bluetooth-lowenergy android-ble

byte bytes[] = {0x04,0x08,0x0F,0x66,(byte)0x99,0x41,0x52,0x43,0x55,(byte)0xAA};
ch.setValue(bytes);

如果我记录此数组的输出,则会得到(请注意负值):

[4, 8, 15, 102, -103, 65, 82, 67, 85, -86]

但是从理论上讲,这仅是值的java表示,并且当它们击中Bluetooth设备时不应影响感知到的值,但这似乎并非如此

制造商需要这些值,因此无法更改,但是其中两个值超出了无符号字节/整数的范围,这似乎是设备无法识别命令的原因。< / p>

当我将此命令写入特性时,我会成功。但是设备不会根据命令执行操作。

所以,我的问题是,我是否以正确的方式发送此消息,还是应该格式化/处理字节数组以保持其中包含的感知值?

任何建议,不胜感激!!!

0 个答案:

没有答案