c#uwp读取多个值(BLE)

时间:2018-05-26 13:57:12

标签: c# uwp bluetooth-lowenergy

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);
            }     
        }

我有这个问题,每当我按“读”时,它只读一个值。我用我的rfduino设置了一个mpu6050。所以它应该读取x,y,z值。但是,就我而言,它只读取'z'值。如何让它读取所有三个值?

在我的c#中:(只读取z值) enter image description here

在我的arduino中: enter image description here

1 个答案:

答案 0 :(得分:0)

看起来问题出在FormatValueByPresentation中。值返回为bytes数组,函数simple将其格式化为int或float。

首先检查您的特色演示文稿格式。然后检查返回的值长度。

之后可以修复您的代码。