Communicate with register-based devices in NI-VISA or the NI-VXI API
Register-based devices are required to implement only the four basic VXIbus configuration registers, but most of these devices implement additional instrument-specific registers. There is no standard communication protocol for controlling register-based devices.
Each manufacturer must specify the pattern of register accesses that controls the specific functions of each device. Controllers communicate with register-based devices through register reads and writes in exactly the same way controllers communicate with VMEbus devices.
We have written examples of how to access VXI/VME address space directly using NI-VISA or the NI-VXI API. (National Instruments recommends using NI-VISA, rather than the NI-VXI API, to develop your application.) The VISA register-level communication examples, HighReg.c and LowReg.c, are in your vxipnp\win32\NIvisa\examples directory. The NI-VXI API examples are called VXIlow.c and VXIhigh.c. These files are in the NIVXI directory in the examples folder. VXIlow.c shows how to use MapVXIAddress() and VXIpeek()/VXIpoke(). VXIhigh.c uses the high-level calls, such as VXIin and VXIout.