Вы можете повысить мощность и гибкость устройства Bluetooth ®, используя события и обратные вызовы. Событие происходит после выполнения условия и может привести к одному или нескольким обратным вызовам.
В то время как MATLAB ® подключен к устройству Bluetooth, события можно использовать для отображения сообщения, отображения данных, анализа данных и т.д. Можно управлять обратными вызовами с помощью свойств обратного вызова и функций обратного вызова. Все типы событий имеют связанное свойство обратного вызова. Функции обратного вызова - это функции MATLAB, которые записываются в соответствии с конкретными потребностями приложения. Выполнение обратного вызова при возникновении определенного события путем указания имени функции обратного вызова в качестве значения связанного свойства обратного вызова.
Ниже приведены свойства и функции Bluetooth, связанные с обратными вызовами.
| Свойство или функция | Цель |
|---|---|
NumBytesAvailable | Число байтов, доступных для чтения |
BytesAvailableFcn | Доступная функция обратного вызова в байтах |
BytesAvailableFcnCount | Количество байтов данных для запуска обратного вызова |
BytesAvailableFcnMode | Доступный режим триггера обратного вызова в байтах |
configureCallback | Установка функции обратного вызова и условия запуска для связи с устройством Bluetooth |
ErrorOccurredFcn | Функция обратного вызова, вызванная событием ошибки |
UserData | Свойство общего назначения для пользовательских данных |
Этот пример использует модуль приемопередатчика Bluetooth HC-06, настроенный в качестве петлевого устройства.
Создайте функцию обратного вызова. Определение функции обратного вызова collectData которая считывает полученные данные и сохраняет их в UserData имущества bluetooth объект.
function collectData(src,evt) src.UserData = [src.UserData; read(src,src.BytesAvailableFcnCount)]; end
Создать 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
Настройте свойства обратного вызова для чтения и сбора данных каждый раз, когда устройство отправляет и получает в MATLAB пять байт.
configureCallback(hc06,"byte",5,@collectData);Очистить bluetooth объект устройства после завершения работы с ним.
clear hc06bluetooth | configureCallback | read