Вы можете повысить степень и гибкость своего 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 hc06
bluetooth
| configureCallback
| read