Java 如何在一个字节中设置特定的位以进行BLE数据传输?
我正在安卓操作系统上开发一款BLE应用程序。我必须通过我的应用程序在BLE硬件上写入数据。我对必须发送的传输数据类型感到困惑。下图显示了我必须发送的字节数据。对于每个字节,它都有不同的结构 在字节_2中,我可以发送0-100个值,即OK 在字节_3中,前4位具有单个值,然后第4位和第5位具有不同的含义 在字节_4中,数据分为两个相等的部分 我不知道如何创建和使用这种字节 位0有2个值:0x00 00000000和0x01 0000000 1 位1有2个值:0x00 00000000和0x02 00000010 位2有2个值:0x00 00000000和0x04 00000100 位3有2个值:0x00 00000000和0x08 00001000 位4有2个值:0x00 00000000和0x10 00010000 位5有2个值:0x00 00000000和0x20 00100000 位6有2个值:0x00 00000000和0x40 01000000 位7有2个值:0x00 00000000和0x80 10000000 理解此结构后,可以使用按位或运算将多个部分合并为1个字节 字节_3的示例: 类型A=1 00100000->0x20 类型B=0 00000000->0x00 B级=300万11->0x03Java 如何在一个字节中设置特定的位以进行BLE数据传输?,java,android,bluetooth-lowenergy,bit,Java,Android,Bluetooth Lowenergy,Bit,我正在安卓操作系统上开发一款BLE应用程序。我必须通过我的应用程序在BLE硬件上写入数据。我对必须发送的传输数据类型感到困惑。下图显示了我必须发送的字节数据。对于每个字节,它都有不同的结构 在字节_2中,我可以发送0-100个值,即OK 在字节_3中,前4位具有单个值,然后第4位和第5位具有不同的含义 在字节_4中,数据分为两个相等的部分 我不知道如何创建和使用这种字节 位0有2个值:0x00 00000000和0x01 0000000 1 位1有2个值:0x00 00000000和0x02 0
=>字节_3=0x20 | 0x00 | 0x03=0x23使用按位或运算。例如,字节_3:0x10 | 0x20 | 0x0F=0x3F。这等于A型、B型和BLevel16型。这和在android中使用others标志的方式相同,您只需要定义您的值。