Вы можете повысить степень и гибкость своего Bluetooth® устройство с использованием событий и коллбэков. Событие происходит после достижения условия и может привести к одному или нескольким коллбэкам.
Пока MATLAB® подключен к устройству Bluetooth, можно использовать события для отображения сообщения, отображения данных, анализа данных и так далее. Вы можете управлять коллбэками через свойства коллбэка и функции обратного вызова. Все типы событий имеют связанное свойство коллбэка. Функции обратного вызова являются функциями MATLAB, которые вы записываете в соответствии с вашими конкретными потребностями приложения. Выполните коллбэк, когда происходит конкретное событие, путем определения имени функции обратного вызова в качестве значения связанного свойства коллбэка.
Далее приводятся свойства и функции Bluetooth, связанные с коллбэками.
| Свойство или функция | Цель |
|---|---|
NumBytesAvailable | Количество байтов, доступных для чтения |
BytesAvailableFcn | Доступная функция обратного вызова в байтах |
BytesAvailableFcnCount | Количество байтов данных для запуска коллбэка |
BytesAvailableFcnMode | Доступный режим триггера коллбэка |
configureCallback | Установите функцию обратного вызова и условие триггера для связи с устройством Bluetooth |
ErrorOccurredFcn | Функция обратного вызова, вызванная событием ошибки |
UserData | Свойство общего назначения для пользовательских данных |
Этот пример использует HC-06 модуль приемопередатчика Bluetooth, сконфигурированный как устройство закольцовывания.
Создайте функцию обратного вызова. Задайте функцию обратного вызова 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