Ibdma, Ibdma -17 – Measurement Computing GPIB-488 User Manual
Page 30

Chapter 3
GPIB 488.1 Library Reference
GPIB-488
3-17
IBDMA
Enables/Disables DMA.
Syntax
C
ibdma (int board, int dma)
Parameters
board
is an integer containing the board handle.
dma
is an integer which indicates whether DMA is to be enabled or disabled for the specified
GPIB board. If
dma
is non-zero, all read and write operations between the GPIB board and
memory are performed using DMA. Otherwise, programmed I/O is used.
Returns
ibsta
will contain a 16-bit status word as described in Appendix B,
.
iberr
will contain an error code, if an error occurred. An
ECAP
error results if you tried to
enable DMA operations for a board which does not support DMA operation. If no error
occured, the previous value of
dma
is stored in
iberr
.
Usage Notes
The GPIB Interface Board must have been configured for DMA operations in order for this
routine to be executed successfully. This routine is useful for alternating between
programmed I/O and DMA operations. This call remains in effect until one of the following
occurs:
•
Another
ibdma
call is made.
•
ibonl
or
ibfind
is called.
•
The program is re-started.
•
The maximum DMA transfer length in Windows is 64 K bytes.
Example
This example enables DMA transfers for GPIB Interface Board 1. It
assumes that the DMA channel was previously selected in your
configuration program.
C
int board, ibsta;
board = ibfind ("gpib1");
ibsta = ibdma (board, 1);