serialport
说明
serialport
对象表示与串行端口通信的串行客户端。在创建对象后,请使用圆点表示法设置其属性。
创建对象
描述
输入参数
port
— 串行端口名称
字符向量 | 字符串标量
串行端口名称,指定为字符向量或字符串标量。使用 serialportlist
获取已连接端口的列表。
示例: "COM2"
baudrate
— 波特率
双精度值
串行通信的波特率,指定为双精度。
示例: 9600
将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参数名称,Value
是对应的值。名称-值参数必须出现在其他参数之后,但参数对组的顺序无关紧要。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
您可以使用名称-值对组来设置 DataBits
、Parity
、StopBits
、FlowControl
、ByteOrder
和 Timeout
对象属性。请参阅属性了解其数据类型和允许的值。
示例: "Timeout",30
属性
对象的创建属性
Port
— 用于连接的串行端口
字符串
此 属性 为只读。
用于连接的串行端口,以字符串形式返回。
示例: "COM1"
数据类型: string
BaudRate
— 通信速度
双精度值
通信速度,以位/秒为单位,以双精度正整数形式返回。
示例: 14400
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Parity
— 奇偶校验
"none"
(默认) | "even"
| "odd"
用于检查数据是否丢失或写入的奇偶校验,以 "none"
、"even"
或 "odd"
形式返回。
示例: "odd"
数据类型: char
| string
DataBits
— 表示一个数据字符的位数
8
(默认) | 7
| 6
| 5
表示一个数据字符的位数,返回为 8
、7
、6
或 5
。
示例: 8
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
StopBits
— 指示字符结束的位的模式
1
(默认) | 1.5
| 2
指示字符或整个传输结束的位的模式,返回为 1
、1.5
或 2
。
示例: 1
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
FlowControl
— 管理数据传输速率的模式
"none"
(默认) | "hardware"
| "software"
管理数据传输速率的模式,返回为 "none"
、"hardware"
或 "software"
。
示例: "software"
数据类型: char
| string
ByteOrder
— 字节的顺序
"little-endian"
(默认) | "big-endian"
字节排列成较大数值的顺序,返回为 "little-endian"
或 "big-endian"
。使用名称-值对组参数在创建对象时设置此属性。您也可以在创建对象后使用圆点表示法更改它。
示例: "little-endian"
数据类型: char
| string
Timeout
— 允许的完成操作的时间
10 (默认) | 数值
允许的完成读写操作的时间(以秒为单位),以数值形式返回。使用名称-值对组参数在创建对象时设置此属性。您也可以在创建对象后使用圆点表示法更改它。
示例: 60
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
读取和写入属性
NumBytesAvailable
— 可供读取的字节数
数值
此 属性 为只读。
可供读取的字节数,以数值形式返回。
示例: 1024
数据类型: double
NumBytesWritten
— 写入设备的字节总数
0 (默认) | 数值
此 属性 为只读。
写入串行端口的字节数,以数值形式返回。
示例: 512
数据类型: double
Terminator
— 数据的终止符字符
"LF"
(默认) | "CR"
| "CR/LF"
| 0 至 255
用于读取和写入以 ASCII 字符结尾的数据的终止符字符,返回为 "LF"
、"CR"
或 "CR/LF"
,或从 0 到 255(包括两者)的数字。如果读取终止符和写入终止符不同,则 Terminator
以这些值的 1×2 元胞数组形式返回。使用 configureTerminator
函数设置此属性。
示例: "CR"
数据类型: char
| string
回调属性
BytesAvailableFcnMode
— 字节可用回调触发模式
"off"
(默认) | "byte"
| "terminator"
字节可用回调触发模式,返回为 "off"
、"byte"
或 "terminator"
。此设置确定回调是关闭、由 BytesAvailableFcnCount
指定的字节数触发还是由 Terminator
指定的终止符触发。使用 configureCallback
函数设置此属性。
示例: "off"
数据类型: char
| string
BytesAvailableFcnCount
— 触发回调的数据字节数
64 (默认) | 数值
由 BytesAvailableFcn
指定的触发回调的数据字节数,以双精度形式返回。仅当 BytesAvailableFcnMode
属性为 "byte"
时,才使用此值。使用 configureCallback
函数设置这些属性。
示例: 128
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
BytesAvailableFcn
— 由字节可用事件触发的回调函数
函数句柄
由字节可用事件触发的回调函数,以函数句柄形式返回。接收到一定数量的字节或终止符会生成字节可用事件。在分配函数句柄之前,此属性为空。使用 configureCallback
函数设置此属性。
示例: @myFcn
数据类型: function_handle
ErrorOccurredFcn
— 由错误事件触发的回调函数
函数句柄
由错误事件触发的回调函数,以函数句柄形式返回。发生异步读取或写入错误时,会生成错误事件。在分配函数句柄之前,此属性为空。
示例: @myErrFcn
数据类型: function_handle
UserData
— 用户数据的通用属性
任意类型
用户数据的通用属性,以任何 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 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)