#include <revolution/ai.h> void AIStartDMA(void);
None.
None.
The AIStartDMA function starts AI-DMA based on parameters set by the AIInitDMA function that was called immediately before.
If the AIStartDMA function is called, the DMA start address and size are loaded into the internal register of the AI DMA controller and data transfer to the AI-FIFO starts. An AI-DMA interrupt (AIDINT) is generated when DMA parameters are loaded into the internal register. (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 also when AI-DMA transactions have completed.
After AI-DMA parameters have been loaded into the internal register and the DMA transaction has started, it is necessary to program the next DMA parameters using the AIInitDMA function before the transaction completes. Otherwise, the next transaction will start based on the same AI-DMA parameters used for the previous transaction, possibly resulting in the generation of noise.
An AI-DMA interrupt callback function can be registered by using the AIRegisterDMACallback function. It is possible to program the parameters for the next AI-DMA transaction at the appropriate time by calling the AIInitDMA function inside this callback.
After AI-DMA has been started by calling the AIStartDMA function, it does not need to be called again unless DMA is stopped by the AIStopDMA function. Conversely, noise may be generated if the AIStartDMA function is called during an AI-DMA transaction and a new transaction starts.
AIInitDMA, AIStopDMA, AIRegisterDMACallback
2006/03/01 Initial version.
CONFIDENTIAL