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 &lt;revolution/ai.h&gt;
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