1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html> 3 4<head> 5<LINK rel="stylesheet" type="text/css" href="../../CSS/revolution.css"> 6<title>AIStartDMA</title> 7<META http-equiv="Content-Type" content="text/html; charset=windows-1252"> 8<META name="GENERATOR" content="Microsoft FrontPage 5.0"> 9<META http-equiv="Content-Style-Type" content="text/css"> 10</head> 11 12<body> 13 14<h1 align="left">AIStartDMA</h1> 15 16<h2>Syntax</h2> 17<dl><dd><pre class="construction"> 18#include <revolution/ai.h> 19 20void AIStartDMA(void); 21</pre></dd></dl> 22 23<h2>Arguments</h2> 24<p>None.</p> 25 26<h2>Return Values</h2> 27<p>None.</p> 28 29<h2>Description</h2> 30<p>The <code>AIStartDMA</code> function starts AI-DMA based on parameters set by the <a href="AIInitDMA.html"><code>AIInitDMA</code></a> function that was called immediately before.</p> 31 32<p>If the <code>AIStartDMA</code> 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 (<code>AIDINT</code>) is generated when DMA parameters are loaded into the internal register. (In other words, the first <code>AIDINT</code> is generated immediately after the <code>AIStartDMA</code> function is called.)</p> 33 34<p>An <code>AIDINT</code> will also be generated if DMA parameters are loaded into the internal register also when AI-DMA transactions have completed.</p> 35 36<p>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 <a href="AIInitDMA.html"><code>AIInitDMA</code></a> 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.</p> 37 38<p>An AI-DMA interrupt callback function can be registered by using the <a href="AIRegisterDMACallback.html"><code>AIRegisterDMACallback</code></a> function. It is possible to program the parameters for the next AI-DMA transaction at the appropriate time by calling the <a href="AIInitDMA.html"><code>AIInitDMA</code></a> function inside this callback.</p> 39 40<p>After AI-DMA has been started by calling the <code>AIStartDMA</code> function, it does not need to be called again unless DMA is stopped by the <a href="AIStopDMA.html"><code>AIStopDMA</code></a> function. Conversely, noise may be generated if the <code>AIStartDMA</code> function is called during an AI-DMA transaction and a new transaction starts.</p> 41 42<h2>See Also</h2> 43<P class="reference"> 44<a href="AIInitDMA.html">AIInitDMA</a>, <a href="AIStopDMA.html">AIStopDMA</a>, <a href="AIRegisterDMACallback.html">AIRegisterDMACallback</a> 45</P> 46 47<H2>Revision History</H2> 48<P> 492006/03/01 Initial version.<BR> 50</P> 51 52<hr><p>CONFIDENTIAL</p></body> 53</html> 54