Я пишу приложение для Android и iOS, которое взаимодействует через BLE с Adafruit Bluefruit LE UART Friend, используя сервис Nordic UART и характеристики TxD/RxD.
TxGattCharact: TBluetoothGattCharacteristic;
SelectedDevice: TBluetoothLEDevice;
TxGattCharact.SetValueAsString(myString, True); // UTF8 required
if BluetoothLE1.WriteCharacteristic(SelectedDevice, TxGattCharact) then
... // everything just fine
else
Log('Writing Characteristic denied or unsuccessfull');
Мне пришлось разбить строку на куски не более 20 символов в соответствии с правилом BLE. Это работает в 90% случаев. Однако иногда WriteCharacteristic не работает.
Есть ли способ понять причину и возможные действия для предотвращения этого? Могу ли я сбросить буферы BLE, чтобы очистить все перед отправкой другой строки?
Заранее спасибо за вашу помощь