Main Content

fprintf (serial)

(将删除)将文本写入设备

serial 对象函数将在以后的版本中删除。请改用 serialport 对象函数。有关更新代码的详细信息,请参阅兼容性考虑

语法

fprintf(obj,'cmd')
fprintf(obj,'format','cmd')
fprintf(obj,'cmd','mode')
fprintf(obj,'format','cmd','mode')

说明

fprintf(obj,'cmd') 将字符串 cmd 写入到已连接到串行端口对象 obj 的设备。默认格式为 %s\n。写入操作为同步操作,在执行完成之前会屏蔽命令行。cmd 可以是您提供的 SCPI 命令,也可以是您根据设备供应商的说明提供的命令。

fprintf(obj,'format','cmd') 使用 format 指定的格式写入字符串。

fprintf(obj,'cmd','mode') 使用 mode 指定的命令行访问权限写入字符串。mode 指定是以同步方式还是异步方式写入 cmd

fprintf(obj,'format','cmd','mode') 使用指定的格式写入字符串。format 是 C 语言转换设定。

执行读取或写入操作之前,需要建立一个从串行端口对象 obj 到设备的连接。

要打开与设备的连接,请使用 fopen 函数。如果 obj 已建立与设备的连接,则其具有 openStatus 属性值。

输入参数

format

ANSI C 转换设定包含以下转换字符。

设定符

描述

%c

单个字符

%d%i

小数记数法(有符号)

%e

指数记数法(使用小写 e,如 3.1415e+00 中一样)

%E

指数记数法(使用大写 E,如 3.1415E+00 中一样)

%f

定点记数法

%g

更紧凑的 %e%f。将不输出无意义的零。

%G

%g 相同,但使用大写 E

%o

八进制记数法(无符号)

%s

字符串

%u

小数记数法(无符号)

%x

十六进制记数法(使用小写字母 af

%X

十六进制记数法(使用大写字母 AF

cmd

指定字符串 cmd,它可以是您提供的 SCPI 命令,也可以是您根据设备供应商的说明提供的命令。

mode

指定是以同步方式还是异步方式写入字符串 cmd

  • sync: cmd 是以同步方式写入且屏蔽命令行。

  • asynccmd 是以异步方式写入且不屏蔽命令行。

如果未指定 mode,则写入操作为同步操作。

如果指定异步 mode,当执行写入操作时:

  • BytesToOutput 属性值将连续更新以反映输出缓冲区中的字节数。

  • 当输出缓冲区为空时,将执行为 OutputEmptyFcn 属性指定的 MATLAB® 文件回调函数。

要确定是否正在执行异步写入操作,请使用 TransferStatus 属性。

示例

创建一个串行端口对象 s 并将其连接到 Tektronix TDS 210 示波器。使用 fprintf 写入 RS232? 命令。RS232? 指示该作用域返回串行端口通信设置。以下示例可在 Windows® 平台上运行。

s = serial('COM1');
fopen(s)
fprintf(s,'RS232?')

指定不包含终止符的数据格式,或将终止符配置为空。

s = serial('COM1');
fopen(s)
fprintf(s,'%s','RS232?')

fprintf 的默认格式为 %s\n。因此,将自动写入 Terminator 属性指定的终止符。但是,有时可能需要禁止写入终止符。

指定一个格式和命令数组:

s = serial('COM1');
fopen(s)
fprintf(s,['ch:%d scale:%d'],[1 20e-3],'sync')

版本历史记录

在 R2006a 之前推出

全部折叠

R2021a: serial 对象接口将被删除

将删除将此函数用于 serial 对象。要访问串行端口设备,请改为使用 serialport 对象及其函数和属性。

推荐的功能具有额外的能力和改进的性能。有关使用推荐功能的详细信息,请参阅Transition Your Code to serialport Interface

另请参阅

函数