我使用我的Android手机(onePlus 6、8.1)连接到支持的模块(CC2640)。连接并设置通知后,模块开始快速发送包裹 5kB / s。收到一些软件包后,连接崩溃。我在两个模块之间进行了测试,传输非常稳定。我不知道为什么,我编写的接收代码不正确吗?我什么也没做,只是读了字节。
@Override
public void onCharacteristicChanged(BluetoothGatt gatt,BluetoothGattCharacteristic characteristic) {
byte[] value = characteristic.getValue();
Log.i(TAG, "CharacteristicChanged: " + value.length);
}
是因为回调被过于频繁地调用。我用加密狗看包裹。在一个连接间隔内,有许多包要发送,也许只是600us间隔。这意味着每600us调用一次回调。我对该模块无能为力。它为每个包发送10个字节,但在连接间隔内不仅发送一个包。有没有更好的方法来接收快速数据流?