private async void Characteristic_ValueChanged(GattCharacteristic sender, GattValueChangedEventArgs args)
{
// BT_Code: An Indicate or Notify reported that the value has changed.
// Display the new value with a timestamp.
var newValue = FormatValueByPresentation(args.CharacteristicValue, presentationFormat);
var message = $"Value at {DateTime.Now:hh:mm:ss}: {newValue}";
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
() => CharacteristicLatestValue.Text = message);
}
Это образец из github.Универсальные образцы BluetoothLE.Сейчас я сталкиваюсь с проблемой, когда я нажимаю кнопку «чтение», она отображает мое чтение rfduino.Но поскольку я хочу, чтобы он обновлялся автоматически при каждом изменении значения, мне нужно подписаться на изменение значения.
Однако, когда я нажимаю «Подписаться на изменение значения», я получаю только «Неизвестный формат».Любой специалист может помочь мне решить эту проблему шаг за шагом?Если возможно, мы можем использовать Teamviewer.
private async void CharacteristicReadButton_Click()
{
// BT_Code: Read the actual value from the device by using Uncached.
GattReadResult result = await selectedCharacteristic.ReadValueAsync(BluetoothCacheMode.Uncached);
if (result.Status == GattCommunicationStatus.Success)
{
string formattedResult = FormatValueByPresentation(result.Value, presentationFormat);
rootPage.NotifyUser($"Read result: {formattedResult}", NotifyType.StatusMessage);
}
else
{
rootPage.NotifyUser($"Read failed: {result.Status}", NotifyType.ErrorMessage);
}
}