Download Agilent VISA User`s Guide

Transcript
Programming via GPIB and VXI
Using High-Level Memory Functions
Function
Description
viMoveIn16(vi,
space, offset, length, buf16);
Moves a 16-bit block of data from the
specified offset to local memory.
viMoveIn32(vi,
space, offset, length, buf32);
Moves a 32-bit block of data from the
specified offset to local memory.
viMoveOut8(vi,
space, offset, length, buf8);
Moves an 8-bit block of data from local
memory to the specified offset.
viMoveOut16(vi,
space, offset, length, buf16);
Moves a 16-bit block of data from local
memory to the specified offset.
viMoveOut32(vi,
space, offset, length, buf32);
Moves a 32-bit block of data from local
memory to the specified offset.
Using viIn and
viOut
When using the viIn and viOut high-level memory functions to program to
the device registers, all you need to specify is the session identifier, address
space, and the offset of the register. Memory mapping is done for you. For
example, in this function:
viIn32(vi, space, offset, val32);
vi is the session identifier and offset is used to indicate the offset of the
memory to be mapped. offset is relative to the location of this device's
memory in the given address space.The space parameter determines which
memory location to map the space. Valid space values are:
n VI_A16_SPACE - Maps in VXI/MXI A16 address space
n VI_A24_SPACE - Maps in VXI/MXI A24 address space
n VI_A32_SPACE - Maps in VXI/MXI A32 address space
The val32 parameter is a pointer to where the data read will be stored.
If, instead, you write to the registers via the viOut32 function, the val32
parameter is a pointer to the data to write to the specified registers. If the
device specified by vi does not have memory in the specified address
space, an error is returned. The following example uses viIn16.
ViSession defaultRM, vi;
ViUInt16 value;
.
viOpenDefaultRM(&&defaultRM);
viOpen(defaultRM, "VXI::24", VI_NULL, VI_NULL, &vi);
viIn16(vi, VI_A16_SPACE, 0x100, &value);
Chapter 5
103