Можно улучшить степень и гибкость устройства 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 hc06
bluetooth
| configureCallback
| read