Main Content

serialport

连接到串行端口

自 R2019b 起

说明

serialport 对象表示与串行端口通信的串行客户端。在创建对象后,请使用圆点表示法设置其属性。

创建对象

描述

示例

s = serialport(port,baudrate) 连接到 port 指定的串行端口,波特率为 baudrate

s = serialport(port,baudrate,Name,Value) 连接到串行端口,并使用可选的名称-值对组参数设置其他属性。

s = serialport(不带参数)使用上次清除的 serialport 对象实例的属性设置连接到串行端口。保留的属性包括 PortBaudRateByteOrderFlowControlStopBitsDataBitsParityTimeoutTerminator。请参阅属性

输入参数

全部展开

串行端口名称,指定为字符向量或字符串标量。使用 serialportlist 获取已连接端口的列表。

示例: "COM2"

串行通信的波特率,指定为双精度。

示例: 9600

名称-值参数

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

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

您可以使用名称-值对组来设置 DataBitsParityStopBitsFlowControlByteOrderTimeout 对象属性。请参阅属性了解其数据类型和允许的值。

示例: "Timeout",30

属性

全部展开

对象的创建属性

此 属性 为只读。

用于连接的串行端口,以字符串形式返回。

示例: "COM1"

数据类型: string

通信速度,以位/秒为单位,以双精度正整数形式返回。

示例: 14400

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

用于检查数据是否丢失或写入的奇偶校验,以 "none""even""odd" 形式返回。

示例: "odd"

数据类型: char | string

表示一个数据字符的位数,返回为 8765

示例: 8

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

指示字符或整个传输结束的位的模式,返回为 11.52

示例: 1

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

管理数据传输速率的模式,返回为 "none""hardware""software"

示例: "software"

数据类型: char | string

字节排列成较大数值的顺序,返回为 "little-endian""big-endian"。使用名称-值对组参数在创建对象时设置此属性。您也可以在创建对象后使用圆点表示法更改它。

示例: "little-endian"

数据类型: char | string

允许的完成读写操作的时间(以秒为单位),以数值形式返回。使用名称-值对组参数在创建对象时设置此属性。您也可以在创建对象后使用圆点表示法更改它。

示例: 60

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

读取和写入属性

此 属性 为只读。

可供读取的字节数,以数值形式返回。

示例: 1024

数据类型: double

此 属性 为只读。

写入串行端口的字节数,以数值形式返回。

示例: 512

数据类型: double

用于读取和写入以 ASCII 字符结尾的数据的终止符字符,返回为 "LF""CR""CR/LF",或从 0 到 255(包括两者)的数字。如果读取终止符和写入终止符不同,则 Terminator 以这些值的 1×2 元胞数组形式返回。使用 configureTerminator 函数设置此属性。

示例: "CR"

数据类型: char | string

回调属性

字节可用回调触发模式,返回为 "off""byte""terminator"。此设置确定回调是关闭、由 BytesAvailableFcnCount 指定的字节数触发还是由 Terminator 指定的终止符触发。使用 configureCallback 函数设置此属性。

示例: "off"

数据类型: char | string

BytesAvailableFcn 指定的触发回调的数据字节数,以双精度形式返回。仅当 BytesAvailableFcnMode 属性为 "byte" 时,才使用此值。使用 configureCallback 函数设置这些属性。

示例: 128

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

由字节可用事件触发的回调函数,以函数句柄形式返回。接收到一定数量的字节或终止符会生成字节可用事件。在分配函数句柄之前,此属性为空。使用 configureCallback 函数设置此属性。

示例: @myFcn

数据类型: function_handle

由错误事件触发的回调函数,以函数句柄形式返回。发生异步读取或写入错误时,会生成错误事件。在分配函数句柄之前,此属性为空。

示例: @myErrFcn

数据类型: function_handle

用户数据的通用属性,以任何 MATLAB® 数据类型形式返回。例如,当回调函数触发事件时,可以使用此属性存储数据。

示例: datetime()

对象函数

read从串行端口读取数据
readline从串行端口读取 ASCII 字符串数据行
write将数据写入串行端口
writeline将 ASCII 数据行写入串行端口
flush清空串行端口设备缓冲区
configureTerminator为与串行端口的 ASCII 字符串通信设置终止符
configureCallback为与串行端口设备的通信设置回调函数和触发条件
getpinstatus获取串行引脚状态
setRTS设置串行 RTS 引脚
setDTR设置串行 DTR 引脚

示例

全部折叠

COM3 串行端口读取 uint32 数据的 16 个值。

s = serialport("COM3",9600,"Timeout",5);
data = read(s,16,"uint32");

版本历史记录

在 R2019b 中推出

另请参阅

函数