Chapter 3 119
Programming the Status Register System
Accessing Status Register Information
Deciding How to Monitor
You can use either of two methods described below to access the information in status registers (both
methods allow you to monitor one or more conditions).
• The polling method
In the polling method, the signal generator has a passive role. It tells the controller that conditions have
changed only when the controller asks the right question. This is accomplished by a program loop that
continually sends a query.
The polling method works well if you do not need to know about changes the moment they occur. Use
polling in the following situations:
— when you use a programming language/development environment or I/O interface that does not
support SRQ interrupts
— when you want to write a simple, single-purpose program and don’t want the added complexity of
setting up an SRQ handler
• The service request (SRQ) method
In the SRQ method (described in the following section), the signal generator takes a more active role. It
tells the controller when there has been a condition change without the controller asking.
Use the SRQ method if you must know immediately when a condition changes. (To detect a change
using the polling method, the program must repeatedly read the registers.) Use the SRQ method in the
following situations:
— when you need time-critical notification of changes
— when you are monitoring more than one device that supports SRQs
— when you need to have the controller do something else while waiting
— when you can’t afford the performance penalty inherent to polling
Using the Service Request (SRQ) Method
The programming language, I/O interface, and programming environment must support SRQ interrupts (for
example: BASIC or VISA used with GPIB and VXI-11 over the LAN). Using this method, you must do the
following:
1. Determine which bit monitors the condition.
2. Send commands to enable the bit that monitors the condition (transition registers).
3. Send commands to enable the summary bits that report the condition (event enable registers).
4. Send commands to enable the status byte register to monitor the condition.
5. Enable the controller to respond to service requests.