Added doxygen output of current emulator branch.
This commit is contained in:
346
group___d_m_a___group3.html
Normal file
346
group___d_m_a___group3.html
Normal file
@@ -0,0 +1,346 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.9.1"/>
|
||||
<title>discoverpixy: Double Buffer mode functions</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectname">discoverpixy
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.9.1 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">Double Buffer mode functions<div class="ingroups"><a class="el" href="group___s_t_m32_f4xx___std_periph___driver.html">STM32F4xx_StdPeriph_Driver</a> » <a class="el" href="group___d_m_a.html">DMA</a> » <a class="el" href="group___d_m_a___private___functions.html">DMA_Private_Functions</a></div></div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Double Buffer mode functions.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for Double Buffer mode functions:</div>
|
||||
<div class="dyncontent">
|
||||
<center><table><tr><td><img src="group___d_m_a___group3.png" border="0" alt="" usemap="#group______d__m__a______group3"/>
|
||||
<map name="group______d__m__a______group3" id="group______d__m__a______group3">
|
||||
<area shape="rect" id="node2" href="group___d_m_a___private___functions.html" title="DMA_Private_Functions" alt="" coords="5,13,167,39"/></map>
|
||||
</td></tr></table></center>
|
||||
</div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:ga8d0957e50302efaf48a16c62d14c9ca8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___d_m_a___group3.html#ga8d0957e50302efaf48a16c62d14c9ca8">DMA_DoubleBufferModeConfig</a> (<a class="el" href="struct_d_m_a___stream___type_def.html">DMA_Stream_TypeDef</a> *DMAy_Streamx, uint32_t Memory1BaseAddr, uint32_t DMA_CurrentMemory)</td></tr>
|
||||
<tr class="memdesc:ga8d0957e50302efaf48a16c62d14c9ca8"><td class="mdescLeft"> </td><td class="mdescRight">Configures, when the DMAy Streamx is disabled, the double buffer mode and the current memory target. <a href="#ga8d0957e50302efaf48a16c62d14c9ca8">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga8d0957e50302efaf48a16c62d14c9ca8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga7fe09e62ea3125db384829dab59ebe3e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___d_m_a___group3.html#ga7fe09e62ea3125db384829dab59ebe3e">DMA_DoubleBufferModeCmd</a> (<a class="el" href="struct_d_m_a___stream___type_def.html">DMA_Stream_TypeDef</a> *DMAy_Streamx, FunctionalState NewState)</td></tr>
|
||||
<tr class="memdesc:ga7fe09e62ea3125db384829dab59ebe3e"><td class="mdescLeft"> </td><td class="mdescRight">Enables or disables the double buffer mode for the selected DMA stream. <a href="#ga7fe09e62ea3125db384829dab59ebe3e">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga7fe09e62ea3125db384829dab59ebe3e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga4ebcffd32eb6968ac61cfb64a6bae258"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group___d_m_a___group3.html#ga4ebcffd32eb6968ac61cfb64a6bae258">DMA_MemoryTargetConfig</a> (<a class="el" href="struct_d_m_a___stream___type_def.html">DMA_Stream_TypeDef</a> *DMAy_Streamx, uint32_t MemoryBaseAddr, uint32_t DMA_MemoryTarget)</td></tr>
|
||||
<tr class="memdesc:ga4ebcffd32eb6968ac61cfb64a6bae258"><td class="mdescLeft"> </td><td class="mdescRight">Configures the Memory address for the next buffer transfer in double buffer mode (for dynamic use). This function can be called when the DMA Stream is enabled and when the transfer is ongoing. <a href="#ga4ebcffd32eb6968ac61cfb64a6bae258">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga4ebcffd32eb6968ac61cfb64a6bae258"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ga74b6624f9faa2f43c9369ddbdeab241c"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group___d_m_a___group3.html#ga74b6624f9faa2f43c9369ddbdeab241c">DMA_GetCurrentMemoryTarget</a> (<a class="el" href="struct_d_m_a___stream___type_def.html">DMA_Stream_TypeDef</a> *DMAy_Streamx)</td></tr>
|
||||
<tr class="memdesc:ga74b6624f9faa2f43c9369ddbdeab241c"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current memory target used by double buffer transfer. <a href="#ga74b6624f9faa2f43c9369ddbdeab241c">More...</a><br /></td></tr>
|
||||
<tr class="separator:ga74b6624f9faa2f43c9369ddbdeab241c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<p>Double Buffer mode functions. </p>
|
||||
<pre class="fragment"> ===============================================================================
|
||||
##### Double Buffer mode functions #####
|
||||
===============================================================================
|
||||
[..]
|
||||
This subsection provides function allowing to configure and control the double
|
||||
buffer mode parameters.
|
||||
|
||||
[..]
|
||||
The Double Buffer mode can be used only when Circular mode is enabled.
|
||||
The Double Buffer mode cannot be used when transferring data from Memory to Memory.
|
||||
|
||||
[..]
|
||||
The Double Buffer mode allows to set two different Memory addresses from/to which
|
||||
the DMA controller will access alternatively (after completing transfer to/from
|
||||
target memory 0, it will start transfer to/from target memory 1).
|
||||
This allows to reduce software overhead for double buffering and reduce the CPU
|
||||
access time.
|
||||
|
||||
[..]
|
||||
Two functions must be called before calling the DMA_Init() function:
|
||||
(+) void DMA_DoubleBufferModeConfig(DMA_Stream_TypeDef* DMAy_Streamx,
|
||||
uint32_t Memory1BaseAddr, uint32_t DMA_CurrentMemory);
|
||||
(+) void DMA_DoubleBufferModeCmd(DMA_Stream_TypeDef* DMAy_Streamx, FunctionalState NewState);
|
||||
|
||||
[..]
|
||||
DMA_DoubleBufferModeConfig() is called to configure the Memory 1 base address
|
||||
and the first Memory target from/to which the transfer will start after
|
||||
enabling the DMA Stream. Then DMA_DoubleBufferModeCmd() must be called
|
||||
to enable the Double Buffer mode (or disable it when it should not be used).
|
||||
|
||||
[..]
|
||||
Two functions can be called dynamically when the transfer is ongoing (or when the DMA Stream is
|
||||
stopped) to modify on of the target Memories addresses or to check wich Memory target is currently
|
||||
used:
|
||||
(+) void DMA_MemoryTargetConfig(DMA_Stream_TypeDef* DMAy_Streamx,
|
||||
uint32_t MemoryBaseAddr, uint32_t DMA_MemoryTarget);
|
||||
(+) uint32_t DMA_GetCurrentMemoryTarget(DMA_Stream_TypeDef* DMAy_Streamx);
|
||||
|
||||
[..]
|
||||
DMA_MemoryTargetConfig() can be called to modify the base address of one of
|
||||
the two target Memories.
|
||||
The Memory of which the base address will be modified must not be currently
|
||||
be used by the DMA Stream (ie. if the DMA Stream is currently transferring
|
||||
from Memory 1 then you can only modify base address of target Memory 0 and vice versa).
|
||||
To check this condition, it is recommended to use the function DMA_GetCurrentMemoryTarget() which
|
||||
returns the index of the Memory target currently in use by the DMA Stream.</pre> <h2 class="groupheader">Function Documentation</h2>
|
||||
<a class="anchor" id="ga7fe09e62ea3125db384829dab59ebe3e"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void DMA_DoubleBufferModeCmd </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="struct_d_m_a___stream___type_def.html">DMA_Stream_TypeDef</a> * </td>
|
||||
<td class="paramname"><em>DMAy_Streamx</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">FunctionalState </td>
|
||||
<td class="paramname"><em>NewState</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Enables or disables the double buffer mode for the selected DMA stream. </p>
|
||||
<dl class="section note"><dt>Note</dt><dd>This function can be called only when the DMA Stream is disabled. </dd></dl>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">DMAy_Streamx</td><td>where y can be 1 or 2 to select the DMA and x can be 0 to 7 to select the DMA Stream. </td></tr>
|
||||
<tr><td class="paramname">NewState</td><td>new state of the DMAy Streamx double buffer mode. This parameter can be: ENABLE or DISABLE. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="retval"><dt>Return values</dt><dd>
|
||||
<table class="retval">
|
||||
<tr><td class="paramname">None</td><td></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga8d0957e50302efaf48a16c62d14c9ca8"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void DMA_DoubleBufferModeConfig </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="struct_d_m_a___stream___type_def.html">DMA_Stream_TypeDef</a> * </td>
|
||||
<td class="paramname"><em>DMAy_Streamx</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint32_t </td>
|
||||
<td class="paramname"><em>Memory1BaseAddr</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint32_t </td>
|
||||
<td class="paramname"><em>DMA_CurrentMemory</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Configures, when the DMAy Streamx is disabled, the double buffer mode and the current memory target. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">DMAy_Streamx</td><td>where y can be 1 or 2 to select the DMA and x can be 0 to 7 to select the DMA Stream. </td></tr>
|
||||
<tr><td class="paramname">Memory1BaseAddr</td><td>the base address of the second buffer (Memory 1) </td></tr>
|
||||
<tr><td class="paramname">DMA_CurrentMemory</td><td>specifies which memory will be first buffer for the transactions when the Stream will be enabled. This parameter can be one of the following values: <ul>
|
||||
<li>DMA_Memory_0: Memory 0 is the current buffer. </li>
|
||||
<li>DMA_Memory_1: Memory 1 is the current buffer.</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>Memory0BaseAddr is set by the DMA structure configuration in <a class="el" href="group___d_m_a___group1.html#gaced8a4149acfb0a50b50e63273a87148" title="Initializes the DMAy Streamx according to the specified parameters in the DMA_InitStruct structure...">DMA_Init()</a>.</dd></dl>
|
||||
<dl class="retval"><dt>Return values</dt><dd>
|
||||
<table class="retval">
|
||||
<tr><td class="paramname">None</td><td></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga74b6624f9faa2f43c9369ddbdeab241c"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint32_t DMA_GetCurrentMemoryTarget </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="struct_d_m_a___stream___type_def.html">DMA_Stream_TypeDef</a> * </td>
|
||||
<td class="paramname"><em>DMAy_Streamx</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Returns the current memory target used by double buffer transfer. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">DMAy_Streamx</td><td>where y can be 1 or 2 to select the DMA and x can be 0 to 7 to select the DMA Stream. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="retval"><dt>Return values</dt><dd>
|
||||
<table class="retval">
|
||||
<tr><td class="paramname">The</td><td>memory target number: 0 for Memory0 or 1 for Memory1. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ga4ebcffd32eb6968ac61cfb64a6bae258"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void DMA_MemoryTargetConfig </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="struct_d_m_a___stream___type_def.html">DMA_Stream_TypeDef</a> * </td>
|
||||
<td class="paramname"><em>DMAy_Streamx</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint32_t </td>
|
||||
<td class="paramname"><em>MemoryBaseAddr</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint32_t </td>
|
||||
<td class="paramname"><em>DMA_MemoryTarget</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Configures the Memory address for the next buffer transfer in double buffer mode (for dynamic use). This function can be called when the DMA Stream is enabled and when the transfer is ongoing. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">DMAy_Streamx</td><td>where y can be 1 or 2 to select the DMA and x can be 0 to 7 to select the DMA Stream. </td></tr>
|
||||
<tr><td class="paramname">MemoryBaseAddr</td><td>The base address of the target memory buffer </td></tr>
|
||||
<tr><td class="paramname">DMA_MemoryTarget</td><td>Next memory target to be used. This parameter can be one of the following values: <ul>
|
||||
<li>DMA_Memory_0: To use the memory address 0 </li>
|
||||
<li>DMA_Memory_1: To use the memory address 1</li>
|
||||
</ul>
|
||||
</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>It is not allowed to modify the Base Address of a target Memory when this target is involved in the current transfer. ie. If the DMA Stream is currently transferring to/from Memory 1, then it not possible to modify Base address of Memory 1, but it is possible to modify Base address of Memory 0. To know which Memory is currently used, you can use the function <a class="el" href="group___d_m_a___group3.html#ga74b6624f9faa2f43c9369ddbdeab241c" title="Returns the current memory target used by double buffer transfer. ">DMA_GetCurrentMemoryTarget()</a>.</dd></dl>
|
||||
<dl class="retval"><dt>Return values</dt><dd>
|
||||
<table class="retval">
|
||||
<tr><td class="paramname">None</td><td></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated on Sun May 10 2015 15:15:19 for discoverpixy by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.9.1
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user