Используйте коллбэки для связи по Bluetooth

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

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

Свойства коллбэка

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

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

Использование коллбэков

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

  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

См. также

| |

Похожие темы