AIStartDMA

C Specification

#include <revolution.h>
void AIStartDMA (void);

Arguments

None.

Return Values

None.

Description

Based on parameters set by the AIInitDMA function that was called immediately before, the AIStartDMA function starts AI DMA.

If the AIStartDMA function is called, the DMA start address and length are loaded into the internal register of the AI DMA controller, and data transfer to the AI FIFO starts. While DMA parameters are loaded into the internal register, an AI DMA interrupt (AIDINT) is generated. (In other words, the first AIDINT is generated immediately after the AIStartDMA function is called.)

An AIDINT will also be generated if DMA parameters are loaded into the internal register or AI DMA transactions complete.

Once AI DMA parameters are loaded into the internal register and the DMA transaction starts, before the DMA transaction completes, you must program the next DMA parameters using the AIInitDMA function. Otherwise, the next transaction will start using the AI DMA parameters from the previous transaction; using the same parameters may generate noise.

An AI DMA interrupt callback function can be registered using the AIRegisterDMACallback function. You can program the parameters for the next AI DMA transaction at the appropriate time by calling the AIInitDMA function inside this callback.

Once you call the AIStartDMA function to start the AI DMA, you don't need to call this function again unless the AIStopDMA function is used to stop the DMA. Conversely, noise may be generated if the AIStartDMA function is called during an AI DMA transaction and a new transaction starts.

See Also

AIInitDMA, AIStopDMA, AIRegisterDMACallback

Revision History

03/01/2006 Initial version.