Files
discoverpixy/stm32f4xx__rng_8c.html
2015-05-12 11:12:43 +02:00

183 lines
18 KiB
HTML

<!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: discovery/libs/StmCoreNPheriph/src/stm32f4xx_rng.c File Reference</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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;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 class="current"><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 id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_84db96586f7d962b526d6d9627d831c2.html">discovery</a></li><li class="navelem"><a class="el" href="dir_07523c13f04fd35d8848cb17a371cb5b.html">libs</a></li><li class="navelem"><a class="el" href="dir_1d60ba7d807ff336a2be2f2de640bf2b.html">StmCoreNPheriph</a></li><li class="navelem"><a class="el" href="dir_12f7a99b9d2a0e5955a2ac990af20021.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">stm32f4xx_rng.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This file provides firmware functions to manage the following functionalities of the Random Number Generator (RNG) peripheral:
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="stm32f4xx__rng_8h_source.html">stm32f4xx_rng.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="stm32f4xx__rcc_8h_source.html">stm32f4xx_rcc.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for stm32f4xx_rng.c:</div>
<div class="dyncontent">
<div class="center"><img src="stm32f4xx__rng_8c__incl.png" border="0" usemap="#discovery_2libs_2_stm_core_n_pheriph_2src_2stm32f4xx__rng_8c" alt=""/></div>
<map name="discovery_2libs_2_stm_core_n_pheriph_2src_2stm32f4xx__rng_8c" id="discovery_2libs_2_stm_core_n_pheriph_2src_2stm32f4xx__rng_8c">
<area shape="rect" id="node2" href="stm32f4xx__rng_8h.html" title="This file contains all the functions prototypes for the Random Number Generator(RNG) firmware library..." alt="" coords="2289,95,2408,121"/><area shape="rect" id="node21" href="stm32f4xx__rcc_8h.html" title="This file contains all the functions prototypes for the RCC firmware library. " alt="" coords="4028,319,4147,345"/><area shape="rect" id="node3" href="stm32f4xx_8h.html" title="CMSIS Cortex&#45;M4 Device Peripheral Access Layer Header File. This file contains all the peripheral reg..." alt="" coords="2177,169,2270,196"/><area shape="rect" id="node4" href="core__cm4_8h.html" title="CMSIS Cortex&#45;M4 Core Peripheral Access Layer Header File. " alt="" coords="350,244,441,271"/><area shape="rect" id="node9" href="system__stm32f4xx_8h.html" title="CMSIS Cortex&#45;M4 Device System Source File for STM32F4xx devices. " alt="" coords="183,244,325,271"/><area shape="rect" id="node10" href="stm32f4xx__conf_8h_source.html" title="stm32f4xx_conf.h" alt="" coords="2287,244,2411,271"/><area shape="rect" id="node6" href="core__cm_instr_8h.html" title="CMSIS Cortex&#45;M Core Instruction Access Header File. " alt="" coords="245,319,351,345"/><area shape="rect" id="node7" href="core__cm_func_8h.html" title="CMSIS Cortex&#45;M Core Function Access Header File. " alt="" coords="375,319,487,345"/><area shape="rect" id="node8" href="core__cm4__simd_8h.html" title="CMSIS Cortex&#45;M4 SIMD Header File. " alt="" coords="95,319,221,345"/><area shape="rect" id="node11" href="stm32f4xx__adc_8h.html" title="This file contains all the functions prototypes for the ADC firmware library. " alt="" coords="512,319,633,345"/><area shape="rect" id="node12" href="stm32f4xx__crc_8h.html" title="This file contains all the functions prototypes for the CRC firmware library. " alt="" coords="657,319,776,345"/><area shape="rect" id="node13" href="stm32f4xx__dbgmcu_8h.html" title="This file contains all the functions prototypes for the DBGMCU firmware library. " alt="" coords="801,319,947,345"/><area shape="rect" id="node14" href="stm32f4xx__dma_8h.html" title="This file contains all the functions prototypes for the DMA firmware library. " alt="" coords="971,319,1097,345"/><area shape="rect" id="node15" href="stm32f4xx__exti_8h.html" title="This file contains all the functions prototypes for the EXTI firmware library. " alt="" coords="1121,319,1243,345"/><area shape="rect" id="node16" href="stm32f4xx__flash_8h.html" title="This file contains all the functions prototypes for the FLASH firmware library. " alt="" coords="1267,319,1393,345"/><area shape="rect" id="node17" href="stm32f4xx__gpio_8h.html" title="This file contains all the functions prototypes for the GPIO firmware library. " alt="" coords="1417,319,1541,345"/><area shape="rect" id="node18" href="stm32f4xx__i2c_8h.html" title="This file contains all the functions prototypes for the I2C firmware library. " alt="" coords="1565,319,1682,345"/><area shape="rect" id="node19" href="stm32f4xx__iwdg_8h.html" title="This file contains all the functions prototypes for the IWDG firmware library. " alt="" coords="1707,319,1833,345"/><area shape="rect" id="node20" href="stm32f4xx__pwr_8h.html" title="This file contains all the functions prototypes for the PWR firmware library. " alt="" coords="1857,319,1976,345"/><area shape="rect" id="node22" href="stm32f4xx__rtc_8h.html" title="This file contains all the functions prototypes for the RTC firmware library. " alt="" coords="2001,319,2115,345"/><area shape="rect" id="node23" href="stm32f4xx__sdio_8h.html" title="This file contains all the functions prototypes for the SDIO firmware library. " alt="" coords="2140,319,2264,345"/><area shape="rect" id="node24" href="stm32f4xx__spi_8h.html" title="This file contains all the functions prototypes for the SPI firmware library. " alt="" coords="2287,319,2405,345"/><area shape="rect" id="node25" href="stm32f4xx__syscfg_8h.html" title="This file contains all the functions prototypes for the SYSCFG firmware library. " alt="" coords="2429,319,2567,345"/><area shape="rect" id="node26" href="stm32f4xx__tim_8h.html" title="This file contains all the functions prototypes for the TIM firmware library. " alt="" coords="2592,319,2711,345"/><area shape="rect" id="node27" href="stm32f4xx__usart_8h.html" title="This file contains all the functions prototypes for the USART firmware library. " alt="" coords="2735,319,2864,345"/><area shape="rect" id="node28" href="stm32f4xx__wwdg_8h.html" title="This file contains all the functions prototypes for the WWDG firmware library. " alt="" coords="2888,319,3020,345"/><area shape="rect" id="node29" href="misc_8h.html" title="This file contains all the functions prototypes for the miscellaneous firmware library functions (add..." alt="" coords="3045,319,3106,345"/><area shape="rect" id="node30" href="stm32f4xx__cryp_8h.html" title="This file contains all the functions prototypes for the Cryptographic processor(CRYP) firmware librar..." alt="" coords="3130,319,3255,345"/><area shape="rect" id="node31" href="stm32f4xx__hash_8h.html" title="This file contains all the functions prototypes for the HASH firmware library. " alt="" coords="3279,319,3407,345"/><area shape="rect" id="node32" href="stm32f4xx__can_8h.html" title="This file contains all the functions prototypes for the CAN firmware library. " alt="" coords="3432,319,3553,345"/><area shape="rect" id="node33" href="stm32f4xx__dac_8h.html" title="This file contains all the functions prototypes for the DAC firmware library. " alt="" coords="3577,319,3699,345"/><area shape="rect" id="node34" href="stm32f4xx__dcmi_8h.html" title="This file contains all the functions prototypes for the DCMI firmware library. " alt="" coords="3723,319,3851,345"/><area shape="rect" id="node35" href="stm32f4xx__fsmc_8h.html" title="This file contains all the functions prototypes for the FSMC firmware library. " alt="" coords="3875,319,4003,345"/></map>
</div>
</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:ga15ff5e649080076eebd51143b9ac4491"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_n_g___group1.html#ga15ff5e649080076eebd51143b9ac4491">RNG_DeInit</a> (void)</td></tr>
<tr class="memdesc:ga15ff5e649080076eebd51143b9ac4491"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initializes the RNG peripheral registers to their default reset values. <a href="group___r_n_g___group1.html#ga15ff5e649080076eebd51143b9ac4491">More...</a><br /></td></tr>
<tr class="separator:ga15ff5e649080076eebd51143b9ac4491"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c1a8372da6e8a06819903c63faecd7b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_n_g___group1.html#ga6c1a8372da6e8a06819903c63faecd7b">RNG_Cmd</a> (FunctionalState NewState)</td></tr>
<tr class="memdesc:ga6c1a8372da6e8a06819903c63faecd7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the RNG peripheral. <a href="group___r_n_g___group1.html#ga6c1a8372da6e8a06819903c63faecd7b">More...</a><br /></td></tr>
<tr class="separator:ga6c1a8372da6e8a06819903c63faecd7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2cead4780224fd74a3fc15543c98ed36"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_n_g___group2.html#ga2cead4780224fd74a3fc15543c98ed36">RNG_GetRandomNumber</a> (void)</td></tr>
<tr class="memdesc:ga2cead4780224fd74a3fc15543c98ed36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a 32-bit random number. <a href="group___r_n_g___group2.html#ga2cead4780224fd74a3fc15543c98ed36">More...</a><br /></td></tr>
<tr class="separator:ga2cead4780224fd74a3fc15543c98ed36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga41d9be4c303ba0875a82c62dc7085f08"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_n_g___group3.html#ga41d9be4c303ba0875a82c62dc7085f08">RNG_ITConfig</a> (FunctionalState NewState)</td></tr>
<tr class="memdesc:ga41d9be4c303ba0875a82c62dc7085f08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the RNG interrupt. <a href="group___r_n_g___group3.html#ga41d9be4c303ba0875a82c62dc7085f08">More...</a><br /></td></tr>
<tr class="separator:ga41d9be4c303ba0875a82c62dc7085f08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab70d6cc7d943dfb8eac15ccecf6cd7b3"><td class="memItemLeft" align="right" valign="top">FlagStatus&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_n_g___group3.html#gab70d6cc7d943dfb8eac15ccecf6cd7b3">RNG_GetFlagStatus</a> (uint8_t RNG_FLAG)</td></tr>
<tr class="memdesc:gab70d6cc7d943dfb8eac15ccecf6cd7b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the specified RNG flag is set or not. <a href="group___r_n_g___group3.html#gab70d6cc7d943dfb8eac15ccecf6cd7b3">More...</a><br /></td></tr>
<tr class="separator:gab70d6cc7d943dfb8eac15ccecf6cd7b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3c67fe6bacdc4529f1707025224f954"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_n_g___group3.html#gac3c67fe6bacdc4529f1707025224f954">RNG_ClearFlag</a> (uint8_t RNG_FLAG)</td></tr>
<tr class="memdesc:gac3c67fe6bacdc4529f1707025224f954"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the RNG flags. <a href="group___r_n_g___group3.html#gac3c67fe6bacdc4529f1707025224f954">More...</a><br /></td></tr>
<tr class="separator:gac3c67fe6bacdc4529f1707025224f954"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab58eaab67698770d9ea9775fb280271f"><td class="memItemLeft" align="right" valign="top">ITStatus&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_n_g___group3.html#gab58eaab67698770d9ea9775fb280271f">RNG_GetITStatus</a> (uint8_t RNG_IT)</td></tr>
<tr class="memdesc:gab58eaab67698770d9ea9775fb280271f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the specified RNG interrupt has occurred or not. <a href="group___r_n_g___group3.html#gab58eaab67698770d9ea9775fb280271f">More...</a><br /></td></tr>
<tr class="separator:gab58eaab67698770d9ea9775fb280271f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b1c78c003cd5c886e09fdbc2c89cacb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_n_g___group3.html#ga2b1c78c003cd5c886e09fdbc2c89cacb">RNG_ClearITPendingBit</a> (uint8_t RNG_IT)</td></tr>
<tr class="memdesc:ga2b1c78c003cd5c886e09fdbc2c89cacb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the RNG interrupt pending bit(s). <a href="group___r_n_g___group3.html#ga2b1c78c003cd5c886e09fdbc2c89cacb">More...</a><br /></td></tr>
<tr class="separator:ga2b1c78c003cd5c886e09fdbc2c89cacb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This file provides firmware functions to manage the following functionalities of the Random Number Generator (RNG) peripheral: </p>
<dl class="section author"><dt>Author</dt><dd>MCD Application Team </dd></dl>
<dl class="section version"><dt>Version</dt><dd>V1.4.0 </dd></dl>
<dl class="section date"><dt>Date</dt><dd>04-August-2014<ul>
<li>Initialization and Configuration</li>
<li>Get 32 bit Random number</li>
<li>Interrupts and flags management</li>
</ul>
</dd></dl>
<pre class="fragment"> ===================================================================
##### How to use this driver #####
===================================================================
[..]
(#) Enable The RNG controller clock using
RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_RNG, ENABLE) function.
(#) Activate the RNG peripheral using RNG_Cmd() function.
(#) Wait until the 32 bit Random number Generator contains a valid random data
(using polling/interrupt mode). For more details, refer to "Interrupts and
flags management functions" module description.
(#) Get the 32 bit Random number using RNG_GetRandomNumber() function
(#) To get another 32 bit Random number, go to step 3. </pre><pre class="fragment">@attention
&lt;h2&gt;&lt;center&gt;&amp;copy; COPYRIGHT 2014 STMicroelectronics&lt;/center&gt;&lt;/h2&gt;
Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
You may not use this file except in compliance with the License.
You may obtain a copy of the License at:
http://www.st.com/software_license_agreement_liberty_v2
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.</pre></div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun May 10 2015 15:15:18 for discoverpixy by &#160;<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>