Main Content

read

从串行端口读取数据

自 R2019b 起

说明

示例

data = read(device,count,datatype) 从串行端口连接 devicedatatype 指定的格式读取 count 个值。对于所有数值 datatype 类型,data 是双精度值的行向量。对于 "char""string" 的文本类型 datatypedata 的值属于指定类型。该函数暂停 MATLAB® 的执行,直到读取了指定数目的值或发生超时。

示例

全部折叠

创建到串行端口设备的连接。在此示例中,COM3 上的串行端口连接到环回设备。

device = serialport("COM3",9600)
device = 

  Serialport with properties:

                 Port: "COM3"
             BaudRate: 9600
    NumBytesAvailable: 0

  Show all properties, functions

以 uint8 格式写入值 [1,2,3,4,5]

write(device,1:5,"uint8")

由于该端口连接到环回设备,您写入该设备的数据将返回到 MATLAB。读取所有数据。

read(device,5,"uint8")
ans = 1×5

     1     2     3     4     5

输入参数

全部折叠

串行端口连接,指定为 serialport 对象。

示例: read(device,20,"uint32") 从串行端口连接 device 读取数据。

要读取的值的数目,指定为正整数值。如果 count 大于 deviceNumBytesAvailable 属性,该函数将暂停 MATLAB 的执行并等待,直到读取了指定的数据量或发生超时。

示例: read(device,5,"uint32") 读取 uint32 数据的五个值。每个 uint32 值为 4 个字节,总共读取 20 个字节。

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

每个值的大小和格式,指定为字符向量或字符串。datatype 确定对每个值要读取的字节数以及如何将这些字节解释为 MATLAB 数据类型。

示例: read(device,5,"uint16") 读取 uint16 数据的五个值。每个 uint16 值为两个字节,总共读取 10 个字节。

数据类型: char | string

版本历史记录

在 R2019b 中推出

另请参阅

函数