Main Content

instrfind

(将删除)将串行端口对象从内存读入到 MATLAB 工作区

serial 对象函数将在以后的版本中删除。请改用 serialport 对象函数。有关更新代码的详细信息,请参阅兼容性考虑

语法

out = instrfind
out = instrfind('PropertyName',PropertyValue,...)
out = instrfind(S)
out = instrfind(obj,'PropertyName',PropertyValue,...)

说明

out = instrfind 将所有有效的串行端口对象以 out 数组形式返回。

out = instrfind('PropertyName',PropertyValue,...) 返回属性名称和属性值与指定项匹配的串行端口对象数组。

out = instrfind(S) 返回属性名称和属性值与结构体 S 中定义的项匹配的串行端口对象数组。S 的字段名称为属性名称,而字段值为关联的属性值。

out = instrfind(obj,'PropertyName',PropertyValue,...) 将匹配的属性名称/属性值对组的搜索限制为 obj 中列出的串行端口对象。

示例

假定您在 Windows® 平台上创建以下两个串行端口对象。

s1 = serial('COM1');
s2 = serial('COM2');
set(s2,'BaudRate',4800)
fopen([s1 s2])

您可以基于属性值使用 instrfind 返回串行端口对象。

out1 = instrfind('Port','COM1');
out2 = instrfind({'Port','BaudRate'},{'COM2',4800});

您也可以使用 instrfind 将清除的串行端口对象恢复到 MATLAB® 工作区。

clear s1 s2
newobjs = instrfind
   Instrument Object Array
   Index:   Type:          Status:     Name:  
   1        serial         open        Serial-COM1
   2        serial         open        Serial-COM2

要同时关闭 s1s2

fclose(newobjs)

提示

您必须使用与 get 函数返回格式相同的格式来指定属性值。例如,如果 get 返回 Name 属性值为 MyObject,则 instrfind 将不会查找 Name 属性值为 myobject 的对象。但是,这不适用于具有一组有限字符串值的属性的情况。例如,instrfind 将查找 Parity 属性值为 Eveneven 的对象。

您可以在对 instrfind 的相同调用中使用属性名称/属性值字符串对组、结构体和元胞数组对组。

版本历史记录

在 R2006a 之前推出

全部折叠

R2021a: serial 对象接口将被删除

将删除将此函数用于 serial 对象。要访问串行端口设备,请改为使用 serialport 对象及其函数和属性。

推荐的功能具有额外的能力和改进的性能。有关使用推荐功能的详细信息,请参阅Transition Your Code to serialport Interface