exponenta event banner

configureCallback

Установка функции обратного вызова и условия запуска для связи с устройством последовательного порта

Описание

пример

configureCallback(device,"terminator",callbackFcn) устанавливает функцию обратного вызова callbackFcn срабатывание всякий раз, когда терминатор доступен для чтения с указанного последовательного порта. Синтаксис задает BytesAvailableFcnMode имущество device кому "terminator" и BytesAvailableFcn свойство для callbackFcn.

Задайте символ терминатора с помощью.

пример

configureCallback(device,"byte",count,callbackFcn) устанавливает функцию обратного вызова callbackFcn для запуска при каждом новом count количество байтов, доступных для чтения. Синтаксис задает BytesAvailableFcnMode имущество device кому "byte", BytesAvailableFcnCount свойство для count, и BytesAvailableFcn свойство для callbackFcn.

пример

configureCallback(device,"off") отключает обратные вызовы. Синтаксис задает BytesAvailableFcnMode имущество device кому "off".

Примеры

свернуть все

Создайте подключение к устройству последовательного порта.

device = serialport("COM3",9600)
device = 

  Serialport with properties:

                 Port: "COM3"
             BaudRate: 9600
    NumBytesAvailable: 0

  Show all properties, functions

Установите обратный вызов на триггер, когда терминатор доступен для чтения.

configureCallback(device,"terminator",@callbackFcn)

Просмотрите свойства для подтверждения изменения.

device.BytesAvailableFcnMode
device.BytesAvailableFcn
ans = 

    "terminator"


ans =

  function_handle with value:

    @callbackFcn

Выключите обратный вызов.

configureCallback(device,"off")

Убедитесь, что обратный вызов выключен.

device.BytesAvailableFcnMode
ans = 

    "off"

Создайте подключение к устройству последовательного порта.

device = serialport("COM3",9600)
device = 

  Serialport with properties:

                 Port: "COM3"
             BaudRate: 9600
    NumBytesAvailable: 0

  Show all properties, functions

Установите обратный вызов для запуска каждый раз, когда доступны для чтения 50 новых байтов данных.

configureCallback(device,"byte",50,@callbackFcn)

Просмотрите свойства для подтверждения изменения.

device.BytesAvailableFcnMode
device.BytesAvailableFcnCount
device.BytesAvailableFcn
ans = 

    "byte"


ans =

    50


ans =

  function_handle with value:

    @callbackFcn

Выключите обратный вызов.

configureCallback(device,"off")

Убедитесь, что обратный вызов выключен.

device.BytesAvailableFcnMode
ans = 

    "off"

Создайте подключение к устройству последовательного порта.

device = serialport("COM3",9600)
device = 

  Serialport with properties:

                 Port: "COM3"
             BaudRate: 9600
    NumBytesAvailable: 0

  Show all properties, functions

Создайте функцию обратного вызова, которая считывает данные завершенной строки ASCII и сохраняет их в UserData имущество device.

function readSerialData(src,evt)
    data = readline(src);
    src.UserData = data;
end

Установите обратный вызов на триггер, когда терминатор доступен для чтения.

configureCallback(device,"terminator",@readSerialData)

Входные аргументы

свернуть все

Подключение последовательного порта, указанное как serialport объект.

Пример: configureCallback(device,"byte",128,@callbackFcn) устанавливает callbackFcn обратный вызов, чтобы запустить каждый раз, когда 128 байт новых данных доступны для чтения из соединения последовательного порта device.

Количество байтов доступных данных для запуска обратного вызова, указанное как положительное целое значение. Установите BytesAvailableFcnCount свойство, использующее этот аргумент.

Пример: configureCallback(device,"byte",128,@callbackFcn) устанавливает callbackFcn обратный вызов, чтобы запустить каждый раз, когда 128 байт новых данных доступны для чтения.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Функция обратного вызова, запускаемая при выполнении условия триггера, заданная как дескриптор функции. Дескриптор функции может быть именованным дескриптором функции или анонимной функцией с входными аргументами. Установите BytesAvailableFcn свойство, использующее этот аргумент.

Пример: configureCallback(device,"terminator",@callbackFcn) устанавливает callbackFcn обратный вызов для запуска, когда терминатор доступен для чтения.

Типы данных: function_handle

См. также

Функции

Представлен в R2019b