Main Content

configureCallback

为与串行端口设备的通信设置回调函数和触发条件

自 R2019b 起

说明

示例

configureCallback(device,"terminator",callbackFcn) 将回调函数 callbackFcn 设置为每当可从指定的串行端口读取终止符时触发。该语法将 deviceBytesAvailableFcnMode 属性设置为 "terminator",将 BytesAvailableFcn 属性设置为 callbackFcn

使用 configureTerminator 设置终止符字符。

示例

configureCallback(device,"byte",count,callbackFcn) 将回调函数 callbackFcn 设置为每当有新的 count 个字节可供读取时触发。该语法将 deviceBytesAvailableFcnMode 属性设置为 "byte",将 BytesAvailableFcnCount 属性设置为 count,将 BytesAvailableFcn 属性设置为 callbackFcn

示例

configureCallback(device,"off") 关闭回调。该语法将 deviceBytesAvailableFcnMode 属性设置为 "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 结尾的字符串数据,并将其保存到 deviceUserData 属性中。

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 中推出

另请参阅

函数