我在nrf52中使用ble,并使用java从android发送字节数组命令,如下所示
byte[] header=new byte[]{
(byte )0x5f,
(byte) 0xf0,
(byte) 0xf1,
(byte) 0xf2,
};当我将这些字节记录到控制台时,我看到如下所示
[111,-16,-15,-14]设备具有命令,但不发送应答
但是,如果我使用iOS发送相同的命令,命令数据如下所示
[111,240,241,242]他的工作很有天赋。
是什么导致了这种行为?它可能是相关的java的未独立字节支持吗?
发布于 2022-06-20 13:14:21
你走在正确的轨道上。当您的iOS应用程序将接收到的数据处理为“无符号字节”时,Android将它们解释为“有符号字节”。您可能希望使用相应的*无符号方法(例如Byte.compareUnsigned )将它们视为无符号值。
https://stackoverflow.com/questions/72686767
复制相似问题