Chapter 4 Developing Your NI-488.2 Application
NI-488.2 User Manual 4-4 ni.com
The set of low-level functions are called board-level functions. They access
the interface directly and require you to handle the addressing and bus
management protocol. These functions give you the flexibility and control
to handle situations such as the following:
• Communicating with non-compliant (non-IEEE 488.2) devices.
• Altering various low-level interface configurations.
• Managing the bus in non-typical ways.
Board-level functions that an NI-488.2 application might use include the
following—ibcmd, ibrd, ibwrt, and ibconfig. For a detailed list, refer
to the NI-488.2 online help. For instructions on accessing the online help,
refer to the Using the NI-488.2 Documentation section in About This
Manual.
Using Multiple Interfaces and/or Multiple Devices
When your system includes an interface that must access multiple devices,
use the multi-device NI-488.2 calls, which can perform the following tasks
with a single call:
• Find the Listeners on the bus using FindLstn.
• Find a device requesting service using FindRQS.
• Determine the state of the SRQ line, or wait for SRQ to be asserted
using TestSRQ or WaitSRQ.
• Address multiple devices to receive a command using SendList.
You can mix board-level traditional NI-488.2 calls with the multi-device
NI-488.2 calls to have access to all the NI-488.2 functionality.
Checking Status with Global VariablesEach NI-488.2 API call updates four global variables to reflect the status
of the device or interface that you are using. These global status variables
are the status word (ibsta), the error variable (iberr), and the count
variables (ibcnt and ibcntl). They contain useful information about the
performance of your application. Your application should check these
variables after each NI-488.2 call. The following sections describe each
of these global variables and how you can use them in your application.
Note If your application is a multithreaded application, refer to the Writing Multithreaded
NI-488.2 Applications section in Chapter 8, NI-488.2 Programming Techniques.