从寄存器中提取字节

时间:2015-11-17 10:29:12

标签: java android android-bluetooth

我正在使用传感器温度,压力和湿度进行测量。对于这三个值,传感器具有以下寄存器,如图所示:

Sensor Memory map 总而言之,我们有8个字节。 8字节通过蓝牙智能发送到我的Android手机,在那里我想提取包的数据,以获得压力,温度和湿度的值。但我只能发送大小为4字节的包。因此,8字节被分成两个4字节的包。 第一个包包含地址0xF7,0xF8,0xF9,0xFA 第二个包包含地址0xFB,0xFC,0xFD,0xFE

为了接收数据包,我使用Java中的Android BluetoothGattCharacteristic。

我收到的套餐格式为HEX。

为了提取数据,我现在有了这段代码:

 public static void extractData_Sensor1(BluetoothGattCharacteristic package1, BluetoothGattCharacteristic package2){

            byte[] one = package1.getValue();
            byte[] two = package2.getValue();
            byte[] Data_Sensor_1 = new byte[one.length + two.length];
            System.arraycopy(one,0,Data_Sensor_1,0         ,one.length);
            System.arraycopy(two,0,Data_Sensor_1,one.length,two.length);

        }

所以我收到两个数据包并将它们复制到一个字节数组中。我的问题是我不知道,如何提取压力,温度和湿度的值。 也许这已经是错误的方式,所以请帮助我!

提前致谢!

0 个答案:

没有答案