beautypg.com

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

Page 30

background image

Chapter 3

GPIB 488.1 Library Reference

GPIB-488

3-17

Programming Reference Manual

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,

IBSTA

.

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);