Adafruit Bluefruit LE (Bluetooth 4 モジュール) を使用して arduino との通信を試みています。すべてがセットアップされ、ペアリングされていますが、GattCharacteristic の ValueChanged イベントに問題があり、30 の間のどこかで発火が停止します。そして40回。
以下は、このためのセットアップ コードです。
public class Bluetooth
{
async public void Initialize()
{
var devices = await DeviceInformation.FindAllAsync(GattDeviceService.GetDeviceSelectorFromUuid(new Guid("6E400001-B5A3-F393-E0A9-E50E24DCCA9E")), null);
GattDeviceService firstService = await GattDeviceService.FromIdAsync(devices[0].Id);
GattCharacteristic rxCharacteristic = firstService.GetCharacteristics(new Guid("6E400003-B5A3-F393-E0A9-E50E24DCCA9E")).First();
await rxCharacteristic.WriteClientCharacteristicConfigurationDescriptorAsync(GattClientCharacteristicConfigurationDescriptorValue.Notify);
rxCharacteristic.ValueChanged += rxCharacteristicValueChanged;
}
private void rxCharacteristicValueChanged(GattCharacteristic characteristic, GattValueChangedEventArgs e)
{
Console.WriteLine(e.CharacteristicValue.ToArray()[6]);
}
}
クリアする必要があるある種のバッファなどはありますか? 送信されるデータを半分にすると、呼び出しが2倍にならないため、バッファに関連しているようには見えませんが、間違っている可能性があります。Arduino は、まだデータを送信していると報告しています (シリアル リンクを介して、いずれにせよ、Bluetooth ライブラリがまだデータを送信しようとしていることがわかります。データが実際に送信されていることを確認する方法がわかりません)。
チェックすべき事項についての提案であっても、どんな助けもいただければ幸いです。