External Interfaces/API |
Specify the M-file callback function to execute when a specified number of bytes is available in the input buffer, or a terminator is read
Description
You configure BytesAvailableFcn
to execute an M-file callback function when a bytes-available event occurs. A bytes-available event occurs when the number of bytes specified by the BytesAvailableFcnCount
property is available in the input buffer, or after a terminator is read, as determined by the the BytesAvailableFcnMode
property.
If the RecordStatus
property value is on
, and a bytes-available event occurs, the record file records this information:
BytesAvailable
Refer to Creating and Executing Callback Functions to learn how to create a callback function.
Characteristics
Read only |
Never |
Data type |
Callback function |
Values
The default value is an empty string.
Example
Create the serial port object s
for a Tektronix TDS 210 two-channel oscilloscope connected to the serial port COM1.
Configure s
to execute the M-file callback function instrcallback
when 40 bytes are available in the input buffer.
s.BytesAvailableFcnCount = 40; s.BytesAvailableFcnMode = 'byte'; s.BytesAvailableFcn = @instrcallback;
Connect s
to the oscilloscope.
Write the *IDN?
command, which instructs the scope to return identification information. Because the default value for the ReadAsyncMode
property is continuous
, data is read as soon as it is available from the instrument.
The resulting output from instrcallback
is shown below.
56 bytes are read and instrcallback
is called once. The resulting display is shown above.
Suppose you remove 25 bytes from the input buffer and then issue the MEASUREMENT?
command, which instructs the scope to return its measurement settings.
The resulting output from instrcallback
is shown below.
BytesAvailable event occurred at 18:33:48 for the object: Serial-COM1. BytesAvailable event occurred at 18:33:48 for the object: Serial-COM1.
There are now 102 bytes in the input buffer, 31 of which are left over from the *IDN?
command. instrcallback
is called twice; once when 40 bytes are available and once when 80 bytes are available.
Functions
Properties
BytesAvailableFcnCount
, BytesAvailableFcnMode
, RecordStatus
, Terminator
, TransferStatus
BytesAvailable | BytesAvailableFcnCount |