Use low-level VXI access calls (use viMapAddress())

NI-VISA Measurement & Automation

Use low-level VXI access calls (use viMapAddress())

Low-level VXI access functions provide the lowest level interface to the hardware and result in the best peek/poke performance, but are not as easy to use as high-level functions. viMapAddress() maps a window in your virtual address space to a portion of the VXI address space. You then have direct access to the memory on your backplane, but you are also responsible for managing the context of that window, checking for bus errors, and making sure you don't read/write beyond the boundaries of your window.

Many people use low-level calls when they shouldn't. If an area of your VXI address space is not time critical, do not map a window to it. Instead, communicate with those devices using the high-level calls. Also, many people place viPeekX()/viPokeX() calls in a loop to transfer blocks of data. This is usually not the most efficient method of doing block transfers. Instead, use the block transfer function viMoveX() to perform this task.

Should you choose to use low-level access calls in your program, you should look at the examples National Instruments provides.