Status and Events
controller wil
l be unable to write more commands to the buffer. This can cause a
time-out.
BUSY
The BUSY? query allows you to find out whether the instrument is busy
processing a command that has an extended processing time such as
single-sequence acquisition.
The same command sequence, using the BUSY? query for synchronization, looks
like this:
/* Set up conditional acquisition */
ACQUIRE:STATE OFF
SELECT:CH1 ON
HORIZONTAL:MODE:RECORDLENGTH 1000
ACQUIRE:MODE SAMPLE
ACQUIRE:STOPAFTER SEQUENCE
/* Acquir e waveform d ata */
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 measu rement */
While BUS Y keep loopi ng
/* Take amplitude measurement */
MEASUREMENT:IMMED:VALUE
This sequence lets you create your own wait loop rather than using the *WAI
command. The BUSY? query helps you avoid time-outs caused by writing too
many commands to the input buffer. The controller is still tied up though, and the
repeated BUSY? query will result in more bus traffic.
*OPC
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 */
3-8 DPO7000, DPO70000/B and DSA7000/B Series Programmer Manual