configureCallback

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

Описание

пример

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

Установите символ терминатора строки, используя configureTerminator.

пример

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)

Входные параметры

свернуть все

Последовательное соединение портов, заданное как a 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