Скорость передачи данных BluetoothLE становится медленной

Я общаюсь с устройством Bluno BluetoothLE, которое отправляет данные, считанные с аналогового входа через Bluetooth, в приложение, написанное для Android с использованием Xamarin.Forms. Я использую стек Monkey Robotics и основал свой код на примере из ConceptDev, который взаимодействует с TI SensorTag. Я могу подключиться к устройству, услуге и характеристикам, а также прочитать данные, используя этот код:

        protected override async void OnAppearing()
    {
        base.OnAppearing();
        if (characteristic.CanRead)
        {
            var c = await characteristic.ReadAsync();
            UpdateDisplay(c);
        }
    }

а также

        void UpdateDisplay(ICharacteristic c)
    {
        string[] strArr = c.StringValue.Split(',');
        try
        {
            FirstValue.Text = strArr[0];
            SecondValue.Text = strArr[1];
        }
        catch (IndexOutOfRangeException e)
        {
            //Just ignore it, I'm sure it will be fine.
            Debug.WriteLine("Index out of range, " + e.InnerException);
        }
    }

Однако после примерно 30 секунд работы отклик значений на аналоговые входы замедляется... Я меняю потенциометр, и результат не отправляется в течение нескольких секунд, это постепенно ухудшается. Есть ли буфер, который мне нужно где-то очистить? Или это что-то еще очевидно, что я скучаю? Длина строки данных CSV, которую я отправляю, составляет не более десяти символов. Любая помощь приветствуется.

0 ответов

Другие вопросы по тегам