External Interfaces/API | ![]() ![]() |
Example: Using Events and Actions
This example uses the M-file action function instraction
to display event-related information to the command line when a bytes-available event or an output-empty event occurs.
1. Create a serial port object - Create the serial port object s
associated with serial port COM1.
s = serial('COM1');
2. Connect to the device - Connect s
to the Tektronix TDS 210 oscilloscope. Since the default value for the ReadAsyncMode
property is continuous
, data is asynchronously returned to the input buffer as soon as it is available from the instrument.
fopen(s)
3. Configure properties - Configure s
to execute the action function instraction
when a bytes-available event or an output-empty event occurs.
s.BytesAvailableActionMode = 'terminator';
s.BytesAvailableAction = 'instraction';
s.OutputEmptyAction = 'instraction';
4. Write and read data - Write the RS232?
command asynchronously to the oscilloscope. This command queries the RS-232 settings and returns the baud rate, the software flow control setting, the hardware flow control setting, the parity type, and the terminator.
fprintf(s,'RS232?','async')
instraction
is called after the RS232?
command is sent, and when the terminator is read. The resulting displays are shown below.
OutputEmpty event occurred at 17:37:21 for the object: Serial-COM1. BytesAvailable event occurred at 17:37:21 for the object: Serial-COM1.
Read the data from the input buffer.
out = fscanf(s) out = 9600;0;0;NONE;LF
5. Disconnect and clean up- When you no longer need s
, you should disconnect it from the instrument, and remove it from memory and from the MATLAB workspace.
fclose(s) delete(s) clear s
![]() | Enabling Action Functions After They Error | Using Control Pins | ![]() |