BytesAvailableFcn

指定的回调函数时是字节的指定数目的输入缓冲器中可用,或终止子是读取执行

描述

您配置BytesAvailableFcn当一个字节可用事件发生时执行的回调函数。当由指定的字节数时,发生字节可用事件BytesAvailableFcnCount属性在输入缓冲器可用,或终止子被读取后,由所确定的BytesAvailableFcnMode属性。

注意

只能用于异步读操作来生成字节可用的事件。

如果RECORDSTATUS属性值和字节可用的事件发生时,记录文件记录了这样的信息:

  • 事件类型信息bytesAvailable

  • 分钟:使用格式日 - 月 - 年时事件发生的时间秒:毫秒

注意

不能使用超过127个字符的ASCII较大值。该功能仅限于127个二进制字符。

要了解如何创建一个回调函数,请参阅创建和执行回调函数

特点

用法

任何仪器对象

只读

决不

数据类型

回调函数

默认值是空字符向量。

例子

创建串口对象小号在Windows®机泰克®TDS 210双通道示波器连接到串行端口COM1。

S =串行( 'COM1');

配置小号执行回调函数instrcallback当40个字节是在输入缓冲器中可用。

s.BytesAvailableFcnCount = 40;s.BytesAvailableFcnMode = '字节';s.BytesAvailableFcn = @instrcallback;

连接小号到示波器。

FOPEN(S)

* IDN?命令,该命令指示的范围,以返回的识别信息。因为对于默认值ReadAsyncMode属性连续,数据将立即读,因为它是可从仪器。

fprintf中(S, '* IDN?')

从输出所得instrcallback如下所示。

信息bytesAvailable事件发生在十八点33分35秒的对象:串行COM1。

56个字节被读出并instrcallback被调用一次。将得到的显示如上所示。

s.BytesAvailable ANS = 56

假设你从输入除去25个字节的缓冲区,并发出测量?命令,该命令指示的范围,以返回其测量设置。

OUT =的fscanf(S, '%C',25);fprintf中(S, '测量?')

从输出所得instrcallback如下所示。

信息bytesAvailable事件发生在18点33分48秒的对象:串行COM1。信息bytesAvailable事件发生在18点33分48秒的对象:串行COM1。

现在有102个字节在输入缓冲器中,其中31个是从遗留* IDN?命令。instrcallback被称为两次;一旦当40个字节是可用的并且当80个字节可用一次。

s.BytesAvailable ANS = 102