|MATLAB Function Reference|
Read data asynchronously from the device
||A serial port object.
||The number of bytes to read from the device.
initiates an asynchronous read operation.
asynchronously reads, at most, the number of bytes given by
size is greater than the difference between the
InputBufferSize property value and the
BytesAvailable property value, an error is returned.
Before you can read data, you must connect
obj to the device with the
fopen function. A connected serial port object has a
Status property value of
open. An error is returned if you attempt to perform a read operation while
obj is not connected to the device.
You should use
readasync only when you configure the
ReadAsyncMode property to
readasync is ignored if used when
TransferStatus property indicates if an asynchronous read or write operation is in progress. You can write data while an asynchronous read is in progress because serial ports have separate read and write pins. You can stop asynchronous read and write operations with the
You can monitor the amount of data stored in the input buffer with the
BytesAvailable property. Additionally, you can use the
BytesAvailableFcn property to execute an M-file callback function when the terminator or the specified amount of data is read.
Rules for Completing an Asynchronous Read Operation
An asynchronous read operation with
readasync completes when one of these conditions is met:
Terminatorproperty is read.
sizeis not specified).
readasync checks for the terminator, this function can be slow. To increase speed, you might want to configure
continuous and continuously return data to the input buffer as soon as it is available from the device.
This example creates the serial port object
s to a Tektronix TDS 210 oscilloscope, configures
s to read data asynchronously only if
readasync is issued, and configures the instrument to return the peak-to-peak value of the signal on channel 1.
Begin reading data asynchronously from the instrument using
readasync. When the read operation is complete, return the data to the MATLAB workspace using