Status and Events
Using the *OPC Command
3-10
MSO2000B, DPO2000B, MSO2000 and DPO2000 Series Oscilloscopes Programmer Manual
many commands to the input buffer. The controller is still tied up though, and
the repeated BUSY? query will result in bus traffic.
If the corresponding status registers are enabled, the *OPC command sets the
OPC bit in the Standard Event Status Register (SESR) when an operation is
complete. You achieve synchronization by using this command with either a
serial poll or service request handler.
Serial Poll Method: Enable the OPC bit in the Device Event Status Enable
Register (DESER) and the Event Status Enable Register (ESER) using the DESE
and *ESE commands.
When the operation is complete, the OPC bit in the Standard Event Status Register
(SESR) will be enabled and the Event Status Bit (ESB) in the Status Byte Register
will be enabled.
The same command sequence using the *OPC command for synchronization with
serial polling looks like this:
/* Set up conditional acquisition */
ACQUIRE:STATE OFF
SELECT:CH1 ON
ACQUIRE:MODE SAMPLE
ACQUIRE:STOPAFTER SEQUENCE
/* Enable the status registers */
DESE 1
*ESE 1
*SRE 0
/* Acquire waveform data */
ACQUIRE:STATE ON
/* Set up the measurement parameters */
MEASUREMENT:IMMED:TYPE AMPLITUDE
MEASUREMENT:IMMED:SOURCE CH1
/* Wait until the acquisition is complete before taking the
measurement.*/
*OPC
While serial poll = 0, keep looping
/* Take amplitude measurement */
MEASUREMENT:IMMED:VALUE?
This technique requires less bus traffic than did looping on BUSY.
Service Request Method: Enable the OPC bit in the Device Event Status Enable
Register (DESER) and the Event Status Enable Register (ESER) using the DESE
and *ESE commands.
You can also enable service requests by setting the ESB bit in the Service Request
Enable Register (SRER) using the *SRE command. When the operation is
complete, the oscilloscope will generate a Service Request.
Need help?
Do you have a question about the MSO2024B and is the answer not in the manual?