fgets (serial)
(将删除)读取设备文本行并包含终止符
此 serial
对象函数将在以后的版本中删除。请改用 serialport
对象函数。有关更新代码的详细信息,请参阅兼容性考虑。
语法
tline = fgets(obj)
[tline,count] = fgets(obj)
[tline,count,msg] = fgets(obj)
说明
tline = fgets(obj)
从连接到串行端口对象 obj
的设备中读取一行文本,并将数据返回到 tline
。该返回数据的文本行中包含终止符。要不包含终止符,请使用 fgetl
。
[tline,count] = fgets(obj)
将读取的值数返回到 count
(包括终止符)。
如果读取操作失败,[tline,count,msg] = fgets(obj)
会将一条警告消息返回到 msg
。
示例
创建串行端口对象 s
,将 s
连接到 Tektronix® TDS 210 示波器,使用 fprintf
函数写入 RS232?
命令。RS232?
指示该作用域返回串行端口通信设置。
s = serial('COM1'); fopen(s) fprintf(s,'RS232?')
因为 ReadAsyncMode
属性的默认值为 continuous
,因此数据将自动返回到输入缓冲区。
s.BytesAvailable
ans = 17
使用 fgets
读取早期写入操作返回的数据,并包含终止符。
settings = fgets(s)
settings = 9600;0;0;NONE;LF
length(settings)
ans = 17
断开 s
与作用域的连接,并从内存和工作区中删除 s
。
fclose(s)
delete(s)
clear s
提示
能够从设备中读取文本之前,必须使用 fopen
函数将设备连接到 obj
。已连接的串行端口对象的 open
属性值为 Status
。如果尝试在 obj
未连接到设备时执行读取操作,将会返回错误。
如果不包含用作输出参数的 msg
并且读取操作失败,则会向命令行返回一条警告消息。
每次发出 fgets
时,ValuesReceived
属性值将增加所读取的值的数目(包括终止符)。
注意
您无法使用超过 127 个字符的 ASCII 值。函数仅限于 127 个二进制字符。
使用 fgets 完成读取操作的规则
使用 fgets
进行的读取操作会屏蔽对 MATLAB® 命令行的访问,直至出现以下情况为止:
已到达
Terminator
属性指定的终止符。Timeout
属性指定的时间已过。输入缓冲区被填满。