Hy大家,
我正在使用蓝牙低功耗(BLE)开发Android应用程序。我已经连接到我的设备了,而且还有一个特点。我正确收到了我的通知和数据。然后我想从这个BluetoothGattCharacteristic
获得不同的信息。
这是我的问题:在我的BluetoothGattCharacteristic中,我想收到两个信息,所以我使用字节掩码来获取这些数据。数据存储在unsignedInt32中。
以下是我获取所需数据的代码,其中特征是BluetoothGattCharacteristic
值:
int value_one = (characteristic.getIntValue(BluetoothGattCharacteristic.FORMAT_UINT32, 0) & 0x03FFFFFF);
int value_two = ((characteristic.getIntValue(BluetoothGattCharacteristic.FORMAT_UINT32, 0) & 0xFC000000)>>26);
为了给你一些细节,我收到了正确的value_one,但是关于value_two,我会显示我的数据直到达到31,然后我开始得到负面数据。
像这样0,1,2,3 ... 30,31, -32,-31,-30,-29 ... etc
我陷入了这个问题。如果你可以帮助我,那将是惊人的!
感谢您的时间和帮助。