General program steps and examples, General program steps and examples -12, Step 2. determine – National Instruments NI-488.2 User Manual
Page 49: The gpib address of your device

Chapter 4
Developing Your NI-488.2 Application
4-12
ni.com
then your application invokes it as follows:
if (Ibsta() & ERR) {
gpiberr("NI-488.2 error");
}
General Program Steps and Examples
The following steps show you how to use the multi-device NI-488.2 calls
in your application. The NI-488.2 software includes the
4882query
source
code examples to demonstrate these principles.
Initialization
Step 1. Become Controller-In-Charge (CIC)
Use
SendIFC
to initialize the bus and the GPIB interface so that the GPIB
interface is Controller-In-Charge (CIC). The only argument of
SendIFC
is
the GPIB interface number, typically 0 for
GPIB0
.
Step 2. Determine the GPIB Address of Your Device
Use
FindLstn
to find all the devices attached to the GPIB. The
FindLstn
function requires the following parameters:
•
Interface number (typically 0, for
GPIB0
).
•
A list of primary addresses, terminated with the
NOADDR
constant.
•
A list for reported GPIB addresses of devices found listening
on the GPIB.
•
Limit, which is the number of the GPIB addresses to report.
Use
FindLstn
to test for the presence of all of the primary addresses that
are passed to it. If a device is present at a particular primary address, then
the primary address is stored in the GPIB addresses list. Otherwise, all
secondary addresses of the given primary address are tested, and the GPIB
address of any devices found is stored in the GPIB addresses list. When you
have the list of GPIB addresses, you can determine which one corresponds
to your instrument and use it for subsequent calls.
Alternately, if you already know your GPIB device’s primary and
secondary address, you can create an appropriate GPIB address to use in
subsequent NI-488.2 calls, as follows: a GPIB address is a 16-bit value that
contains the primary address in the low byte and the secondary address in
the high byte. If you are not using secondary addressing, the secondary
address is 0. For example, if the primary address is 1, then the 16-bit value