exponenta event banner

Использовать обратные вызовы для обмена данными Bluetooth

Вы можете повысить мощность и гибкость устройства Bluetooth ®, используя события и обратные вызовы. Событие происходит после выполнения условия и может привести к одному или нескольким обратным вызовам.

В то время как MATLAB ® подключен к устройству Bluetooth, события можно использовать для отображения сообщения, отображения данных, анализа данных и т.д. Можно управлять обратными вызовами с помощью свойств обратного вызова и функций обратного вызова. Все типы событий имеют связанное свойство обратного вызова. Функции обратного вызова - это функции MATLAB, которые записываются в соответствии с конкретными потребностями приложения. Выполнение обратного вызова при возникновении определенного события путем указания имени функции обратного вызова в качестве значения связанного свойства обратного вызова.

Свойства обратного вызова

Ниже приведены свойства и функции Bluetooth, связанные с обратными вызовами.

Свойство или функцияЦель
NumBytesAvailableЧисло байтов, доступных для чтения
BytesAvailableFcnДоступная функция обратного вызова в байтах
BytesAvailableFcnCountКоличество байтов данных для запуска обратного вызова
BytesAvailableFcnModeДоступный режим триггера обратного вызова в байтах
configureCallbackУстановка функции обратного вызова и условия запуска для связи с устройством Bluetooth
ErrorOccurredFcnФункция обратного вызова, вызванная событием ошибки
UserDataСвойство общего назначения для пользовательских данных

Использование обратных вызовов

Этот пример использует модуль приемопередатчика Bluetooth HC-06, настроенный в качестве петлевого устройства.

  1. Создайте функцию обратного вызова. Определение функции обратного вызова collectData которая считывает полученные данные и сохраняет их в UserData имущества bluetooth объект.

    function collectData(src,evt)
        src.UserData = [src.UserData; read(src,src.BytesAvailableFcnCount)];
    end
    
  2. Создать bluetooth объект hc06 для модуля HC-06.

    hc06 = bluetooth("HC-06",1)
    hc06 = 
      bluetooth with properties:
    
                     Name: "HC-06"
                  Address: "98D331FB3B77"
                  Channel: 1
        NumBytesAvailable: 0
          NumBytesWritten: 0
    
      Show all properties
    
    
  3. Настройте свойства обратного вызова для чтения и сбора данных каждый раз, когда устройство отправляет и получает в MATLAB пять байт.

    configureCallback(hc06,"byte",5,@collectData);
  4. Очистить bluetooth объект устройства после завершения работы с ним.

    clear hc06

См. также

| |

Связанные темы