Main Content

instrfindall

(将删除)查找可见和隐藏的串行端口对象

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

语法

out = instrfindall
out = instrfindall('P1',V1,...)
out = instrfindall(s)
out = instrfindall(objs,'P1',V1,...)

说明

out = instrfindall 查找所有串行端口对象,而不管对象的 ObjectVisibility 属性为何值。该对象或对象集合将返回到 out

out = instrfindall('P1',V1,...) 返回属性名称和对应的属性值与指定为参数的项匹配的串行端口对象数组 out

out = instrfindall(s) 返回属性名称和对应的属性值与结构体 s 中指定的项匹配的串行端口对象数组 out,其中字段名称与属性名称对应,字段值与各个属性的当前值对应。

out = instrfindall(objs,'P1',V1,...) 将具有匹配的属性名称/属性值对组的对象搜索限制为 objs 中列出的串行端口对象。

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

示例

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

s1 = serial('COM1');
s2 = serial('COM2');
set(s2,'ObjectVisibility','off')

由于对象 s2ObjectVisibility 设置为 'off',因此该对象对 instrfind 等对象不可见:

instrfind
   Serial Port Object : Serial-COM1

但是,instrfindall 会查找所有对象,而不管 ObjectVisibility 为何值:

instrfindall
	Instrument Object Array
	Index:   Type:          Status:     Name:  
	1        serial         closed      Serial-COM1
	2        serial         closed      Serial-COM2

以下语句使用 instrfindall 返回具有特定属性设置(以元胞数组形式传递)的对象:

props = {'PrimaryAddress','SecondaryAddress};
vals = {2,0};
obj = instrfindall(props,vals);

当您要将 instrfindall 命令应用于所有可见和不可见的对象时,可以将该命令用作一个参数。例如,以下语句将所有对象设置为可见:

set(instrfindall,'ObjectVisibility','on')

提示

instrfindallinstrfind 不同,因为它会查找 ObjectVisibility 属性设置为 off 的对象。

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

版本历史记录

全部折叠

R2021a: serial 对象接口将被删除

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

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

另请参阅

函数