User`s guide
98 Agilent VISA User’s Guide
4 Programming via GPIB and VXI
/* Read device type register contents */
/* ViAddr is defined as a void so we must cast
/* it to something else to do pointer
arithmetic */
viPeek16(dmm, (ViAddr)((ViUInt16 *)address +
0x01),
&devtype_reg);
/* Unmap memory space */
viUnmapAddress(dmm);
/* Print results */
printf ("ID Register = 0x%4X\n", id_reg);
printf ("Device Type Register = 0x%4X\n",
devtype_reg);
/* Close sessions */
viClose(dmm);
viClose(defaultRM);
}
Sample: Using the GPIB-VXI Interface (Low-Level) Memory
Functions
This program uses low-level memory functions and the GPIB-VXI
interface to read the ID and Device Type registers of a device at
GPIB-VXI0::24.
/*gpibvxil.c
This example program uses the low-level memory
functions to read the id and device type
registers of the device at GPIB-VXI0::24. Change
this address if necessary. Register contents are
then displayed.*/
#include <visa.h>
#include <stdlib.h>
#include <stdio.h>
void main () {
ViSession defaultRM, dmm;
ViAddr address;
unsigned short id_reg, devtype_reg;