主要内容

serialportfind

查找串行端口连接

自 R2024a 起

说明

S = serialportfind 查找现有持久串行端口连接,并返回与每个连接对应的 serialport 对象数组。

示例

S = serialportfind(Name=Value) 查找其属性值与一个或多个名称-值参量指定的属性值匹配的连接。例如,S = serialportfind(Tag="Scope") 返回其 Tag 属性设置为 "Scope" 的现有串行连接。

示例

示例

全部折叠

当一个 serialport 连接存在于 MATLAB® 工作区中或保存为类属性或 App 属性时,可能无法在不同函数或 App 回调中访问 serialport 对象。在这种情况下,您可以使用 serialportfind 查找和删除该连接。

S = serialportfind
S = 

  Serialport with properties:

                 Port: "COM3"
             BaudRate: 9600
                  Tag: ""
    NumBytesAvailable: 0

要关闭此连接,请删除 S

delete(S)

此命令删除 serialport 对象并断开与设备的连接。如果您要重新连接到该设备,必须使用 serialport 创建一个新接口。

在删除后,调用 serialportfind 确认没有现有连接。

serialportfind
ans =

     []

请注意,变量 S 仍存在于工作区中,但它现在是无效句柄。

S
S = 

  handle to deleted Serialport

由于 serialport句柄对象,因此该变量在删除接口后仍存在。(有关这种类型的对象的详细信息,请参阅句柄对象行为。)您可以使用 clear 从工作区中删除无效的句柄。

clear S

您可以为连接分配一个标记,并稍后将该标记与 serialportfind 一起使用来访问该连接。当您需要在多个函数之间跟踪多个串行端口连接时,这种标记非常有用。标记对于定位和访问 App 回调中的连接也很有用。要设置标记值,请使用 serialportTag 属性。

创建两个串行端口连接,为 Tag 属性赋值。

c1 = serialport("COM3",9600,Tag="Arduino");
c2 = serialport("COM5",14400,Tag="Power");

查找标记为 "Arduino" 的连接。

S = serialportfind(Tag="Arduino")
S = 

  Serialport with properties:

                 Port: "COM3"
             BaudRate: 9600
                  Tag: "Arduino"
    NumBytesAvailable: 0

名称-值参数

将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

示例: serialportfind(Tag="Scope",BaudRate=14400) 返回其 Tag 属性设置为 "Scope" 且波特率为 14400 的现有串行连接。

对于 serialportfind,您可以使用 serialport 对象的一个或多个属性作为名称-值参量来指定要查找的连接的属性。

输出参量

全部折叠

串行端口连接,以 serialport 对象或 serialport 对象数组形式返回。如果您调用不带名称-值参量的 serialportfind,则 S 包含所有现有连接。否则,S 包含其属性与您使用名称-值参量指定的值匹配的所有连接。

如果满足以下条件,则 S 为空:

  • 不存在现有的串行端口连接。

  • 不存在与指定的属性值匹配的现有连接。例如,如果您指定 Tag="Scope" 并且不存在其 Tag 属性为 "Scope" 的现有连接,则 S 为空。

  • 您尝试匹配 serialport 对象没有的属性。例如,serialportfind(Speed=14400) 返回空数组,因为 serialport 没有 Speed 属性。

提示

  • serialportfind 查找现有 serialport 连接。要获取所有可用串行端口的列表(无论是否存在连接),请使用 serialportlist

版本历史记录

在 R2024a 中推出