Developing Your Application
Chapter 3
NI-488.2M SRM for OS/2
3-2
© National Instruments Corp.
modification. For most application programs, the NI-488 functions are
sufficient. You should use the NI-488.2 routines if you have a complex
configuration with one or more interface boards and multiple devices.
Regardless of which option you choose, the driver automatically addresses and
performs other bus management operations necessary for device communication.
The following sections discuss some differences between NI-488 functions and
NI-488.2 routines.
Using NI-488 Functions: One Device for Each Board
If your system has only one device attached to each board, the NI-488 functions
are probably sufficient for your programming needs. Some other factors that
make the NI-488 functions more convenient include the following:
•
With NI-488 asynchronous I/O functions (
ibcmda
,
ibrda
, and
ibwrta
),
you can initiate an I/O sequence while maintaining control over the CPU for
non-GPIB tasks.
•
NI-488 functions include built-in file transfer functions (
ibrdf
and
ibwrtf
).
•
The NI-488 function
ibconfig
dynamically changes the GPIB driver
configuration without the need to run the
ibconf
utility.
•
With NI-488 functions, you can control the bus in non-typical ways or
communicate with noncompliant devices.
The NI-488 functions consist of high-level (or device) functions that hide much
of the GPIB management operations and low-level (or board) functions that offer
you more control over the GPIB than NI-488.2 routines. The following sections
describe these different function types.
NI-488 Device-Level Functions
Device-level functions are high-level functions that automatically execute
commands that handle bus management operations such as reading from
and writing to devices or polling them for status. If you use device-level
functions, you do not need to understand GPIB protocol or bus management.
For information about device-level calls and how they manage the GPIB, refer to
Device-Level Calls and Bus Management, in Chapter 6, GPIB Programming
Techniques.