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

1280 lines
67 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: SPI</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><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="#groups">Modules</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">SPI<div class="ingroups"><a class="el" href="group___s_t_m32_f4xx___std_periph___driver.html">STM32F4xx_StdPeriph_Driver</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>SPI driver modules.
<a href="#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for SPI:</div>
<div class="dyncontent">
<center><table><tr><td><img src="group___s_p_i.png" border="0" alt="" usemap="#group______s__p__i"/>
<map name="group______s__p__i" id="group______s__p__i">
<area shape="rect" id="node1" href="group___s_p_i___exported___constants.html" title="SPI_Exported_Constants" alt="" coords="300,5,468,32"/><area shape="rect" id="node2" href="group___s_t_m32_f4xx___std_periph___driver.html" title="STM32F4xx_StdPeriph\l_Driver" alt="" coords="5,23,161,65"/><area shape="rect" id="node4" href="group___s_p_i___private___functions.html" title="SPI_Private_Functions" alt="" coords="307,56,461,83"/></map>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:group___s_p_i___exported___constants"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i___exported___constants.html">SPI_Exported_Constants</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group___s_p_i___private___functions"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i___private___functions.html">SPI_Private_Functions</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_s_p_i___init_type_def.html">SPI_InitTypeDef</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI Init structure definition. <a href="struct_s_p_i___init_type_def.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_i2_s___init_type_def.html">I2S_InitTypeDef</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">I2S Init structure definition. <a href="struct_i2_s___init_type_def.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga8d425258898b4af4ebc820f52635fad8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8d425258898b4af4ebc820f52635fad8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CR1_CLEAR_MASK</b>&#160;&#160;&#160;((uint16_t)0x3040)</td></tr>
<tr class="separator:ga8d425258898b4af4ebc820f52635fad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga441f8283b9c46535e05ae7e520728033"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga441f8283b9c46535e05ae7e520728033"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>I2SCFGR_CLEAR_MASK</b>&#160;&#160;&#160;((uint16_t)0xF040)</td></tr>
<tr class="separator:ga441f8283b9c46535e05ae7e520728033"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7fb18a9c4bcfc2b92c8c58f6bfe99876"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7fb18a9c4bcfc2b92c8c58f6bfe99876"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>PLLCFGR_PPLR_MASK</b>&#160;&#160;&#160;((uint32_t)0x70000000)</td></tr>
<tr class="separator:ga7fb18a9c4bcfc2b92c8c58f6bfe99876"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c3555ba01e070847f1475d2578332ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7c3555ba01e070847f1475d2578332ed"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>PLLCFGR_PPLN_MASK</b>&#160;&#160;&#160;((uint32_t)0x00007FC0)</td></tr>
<tr class="separator:ga7c3555ba01e070847f1475d2578332ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09e3f41fa2150831afaac191046087f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga09e3f41fa2150831afaac191046087f2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SPI_CR2_FRF</b>&#160;&#160;&#160;((uint16_t)0x0010)</td></tr>
<tr class="separator:ga09e3f41fa2150831afaac191046087f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2a833b915e27cd63a5fc416d9002472"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac2a833b915e27cd63a5fc416d9002472"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SPI_SR_TIFRFE</b>&#160;&#160;&#160;((uint16_t)0x0100)</td></tr>
<tr class="separator:gac2a833b915e27cd63a5fc416d9002472"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gabe36880945fa56785283a9c0092124cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#gabe36880945fa56785283a9c0092124cc">SPI_I2S_DeInit</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx)</td></tr>
<tr class="memdesc:gabe36880945fa56785283a9c0092124cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initialize the SPIx peripheral registers to their default reset values. <a href="#gabe36880945fa56785283a9c0092124cc">More...</a><br /></td></tr>
<tr class="separator:gabe36880945fa56785283a9c0092124cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8dacc1dc48bf08c0f12da409f4889037"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga8dacc1dc48bf08c0f12da409f4889037">SPI_Init</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, <a class="el" href="struct_s_p_i___init_type_def.html">SPI_InitTypeDef</a> *SPI_InitStruct)</td></tr>
<tr class="memdesc:ga8dacc1dc48bf08c0f12da409f4889037"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the SPIx peripheral according to the specified parameters in the SPI_InitStruct. <a href="#ga8dacc1dc48bf08c0f12da409f4889037">More...</a><br /></td></tr>
<tr class="separator:ga8dacc1dc48bf08c0f12da409f4889037"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53661884ae4a9640df7cbc59187782f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga53661884ae4a9640df7cbc59187782f7">I2S_Init</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, <a class="el" href="struct_i2_s___init_type_def.html">I2S_InitTypeDef</a> *I2S_InitStruct)</td></tr>
<tr class="memdesc:ga53661884ae4a9640df7cbc59187782f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the SPIx peripheral according to the specified parameters in the I2S_InitStruct. <a href="#ga53661884ae4a9640df7cbc59187782f7">More...</a><br /></td></tr>
<tr class="separator:ga53661884ae4a9640df7cbc59187782f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a0116f88cc2c4478c270f05608703f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga9a0116f88cc2c4478c270f05608703f1">SPI_StructInit</a> (<a class="el" href="struct_s_p_i___init_type_def.html">SPI_InitTypeDef</a> *SPI_InitStruct)</td></tr>
<tr class="memdesc:ga9a0116f88cc2c4478c270f05608703f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills each SPI_InitStruct member with its default value. <a href="#ga9a0116f88cc2c4478c270f05608703f1">More...</a><br /></td></tr>
<tr class="separator:ga9a0116f88cc2c4478c270f05608703f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7470ec1d0759fdeeb42c7fe71a3b41b7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga7470ec1d0759fdeeb42c7fe71a3b41b7">I2S_StructInit</a> (<a class="el" href="struct_i2_s___init_type_def.html">I2S_InitTypeDef</a> *I2S_InitStruct)</td></tr>
<tr class="memdesc:ga7470ec1d0759fdeeb42c7fe71a3b41b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills each I2S_InitStruct member with its default value. <a href="#ga7470ec1d0759fdeeb42c7fe71a3b41b7">More...</a><br /></td></tr>
<tr class="separator:ga7470ec1d0759fdeeb42c7fe71a3b41b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa31357879a65ee1ed7223f3b9114dcf3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#gaa31357879a65ee1ed7223f3b9114dcf3">SPI_Cmd</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, FunctionalState NewState)</td></tr>
<tr class="memdesc:gaa31357879a65ee1ed7223f3b9114dcf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the specified SPI peripheral. <a href="#gaa31357879a65ee1ed7223f3b9114dcf3">More...</a><br /></td></tr>
<tr class="separator:gaa31357879a65ee1ed7223f3b9114dcf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe061c71bbc5b4224f3f2884dc53739e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#gafe061c71bbc5b4224f3f2884dc53739e">I2S_Cmd</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, FunctionalState NewState)</td></tr>
<tr class="memdesc:gafe061c71bbc5b4224f3f2884dc53739e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the specified SPI peripheral (in I2S mode). <a href="#gafe061c71bbc5b4224f3f2884dc53739e">More...</a><br /></td></tr>
<tr class="separator:gafe061c71bbc5b4224f3f2884dc53739e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafc82e90841d7879535d655c035709cb1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#gafc82e90841d7879535d655c035709cb1">SPI_DataSizeConfig</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, uint16_t SPI_DataSize)</td></tr>
<tr class="memdesc:gafc82e90841d7879535d655c035709cb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the data size for the selected SPI. <a href="#gafc82e90841d7879535d655c035709cb1">More...</a><br /></td></tr>
<tr class="separator:gafc82e90841d7879535d655c035709cb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga166171c421fc51da7714723524d41b45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga166171c421fc51da7714723524d41b45">SPI_BiDirectionalLineConfig</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, uint16_t SPI_Direction)</td></tr>
<tr class="memdesc:ga166171c421fc51da7714723524d41b45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Selects the data transfer direction in bidirectional mode for the specified SPI. <a href="#ga166171c421fc51da7714723524d41b45">More...</a><br /></td></tr>
<tr class="separator:ga166171c421fc51da7714723524d41b45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga56fc508a482f032f9eb80e4c63184126"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga56fc508a482f032f9eb80e4c63184126">SPI_NSSInternalSoftwareConfig</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, uint16_t SPI_NSSInternalSoft)</td></tr>
<tr class="memdesc:ga56fc508a482f032f9eb80e4c63184126"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures internally by software the NSS pin for the selected SPI. <a href="#ga56fc508a482f032f9eb80e4c63184126">More...</a><br /></td></tr>
<tr class="separator:ga56fc508a482f032f9eb80e4c63184126"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4ec54abdedf6cd17403d853a926d91c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga4ec54abdedf6cd17403d853a926d91c1">SPI_SSOutputCmd</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, FunctionalState NewState)</td></tr>
<tr class="memdesc:ga4ec54abdedf6cd17403d853a926d91c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the SS output for the selected SPI. <a href="#ga4ec54abdedf6cd17403d853a926d91c1">More...</a><br /></td></tr>
<tr class="separator:ga4ec54abdedf6cd17403d853a926d91c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74594bf32e3bf4905ac7a2deef8eb475"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga74594bf32e3bf4905ac7a2deef8eb475">SPI_TIModeCmd</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, FunctionalState NewState)</td></tr>
<tr class="memdesc:ga74594bf32e3bf4905ac7a2deef8eb475"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the SPIx/I2Sx DMA interface. <a href="#ga74594bf32e3bf4905ac7a2deef8eb475">More...</a><br /></td></tr>
<tr class="separator:ga74594bf32e3bf4905ac7a2deef8eb475"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga60082947bedfe9efc233405be2a7bec2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga60082947bedfe9efc233405be2a7bec2">I2S_FullDuplexConfig</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *I2Sxext, <a class="el" href="struct_i2_s___init_type_def.html">I2S_InitTypeDef</a> *I2S_InitStruct)</td></tr>
<tr class="memdesc:ga60082947bedfe9efc233405be2a7bec2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the full duplex mode for the I2Sx peripheral using its extension I2Sxext according to the specified parameters in the I2S_InitStruct. <a href="#ga60082947bedfe9efc233405be2a7bec2">More...</a><br /></td></tr>
<tr class="separator:ga60082947bedfe9efc233405be2a7bec2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5af40bebe8dbe3fa8bd476489d7e3da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#gad5af40bebe8dbe3fa8bd476489d7e3da">SPI_I2S_SendData</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, uint16_t Data)</td></tr>
<tr class="memdesc:gad5af40bebe8dbe3fa8bd476489d7e3da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmits a Data through the SPIx/I2Sx peripheral. <a href="#gad5af40bebe8dbe3fa8bd476489d7e3da">More...</a><br /></td></tr>
<tr class="separator:gad5af40bebe8dbe3fa8bd476489d7e3da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab77de76547f3bff403236b263b070a30"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#gab77de76547f3bff403236b263b070a30">SPI_I2S_ReceiveData</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx)</td></tr>
<tr class="memdesc:gab77de76547f3bff403236b263b070a30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the most recent received data by the SPIx/I2Sx peripheral. <a href="#gab77de76547f3bff403236b263b070a30">More...</a><br /></td></tr>
<tr class="separator:gab77de76547f3bff403236b263b070a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64f7276d119e6cb58afc100f8832adb0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga64f7276d119e6cb58afc100f8832adb0">SPI_CalculateCRC</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, FunctionalState NewState)</td></tr>
<tr class="memdesc:ga64f7276d119e6cb58afc100f8832adb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the CRC value calculation of the transferred bytes. <a href="#ga64f7276d119e6cb58afc100f8832adb0">More...</a><br /></td></tr>
<tr class="separator:ga64f7276d119e6cb58afc100f8832adb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace8b1058e09bab150b0dbe5978810273"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#gace8b1058e09bab150b0dbe5978810273">SPI_TransmitCRC</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx)</td></tr>
<tr class="memdesc:gace8b1058e09bab150b0dbe5978810273"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit the SPIx CRC value. <a href="#gace8b1058e09bab150b0dbe5978810273">More...</a><br /></td></tr>
<tr class="separator:gace8b1058e09bab150b0dbe5978810273"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c81c193516e82cf0a2fdc149ef20cc6"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga4c81c193516e82cf0a2fdc149ef20cc6">SPI_GetCRC</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, uint8_t SPI_CRC)</td></tr>
<tr class="memdesc:ga4c81c193516e82cf0a2fdc149ef20cc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the transmit or the receive CRC register value for the specified SPI. <a href="#ga4c81c193516e82cf0a2fdc149ef20cc6">More...</a><br /></td></tr>
<tr class="separator:ga4c81c193516e82cf0a2fdc149ef20cc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga80fb9374cfce670f29128bb78568353f"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga80fb9374cfce670f29128bb78568353f">SPI_GetCRCPolynomial</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx)</td></tr>
<tr class="memdesc:ga80fb9374cfce670f29128bb78568353f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the CRC Polynomial register value for the specified SPI. <a href="#ga80fb9374cfce670f29128bb78568353f">More...</a><br /></td></tr>
<tr class="separator:ga80fb9374cfce670f29128bb78568353f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabed5b91a8576e6d578f364cc0e807e4a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#gabed5b91a8576e6d578f364cc0e807e4a">SPI_I2S_DMACmd</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, uint16_t SPI_I2S_DMAReq, FunctionalState NewState)</td></tr>
<tr class="memdesc:gabed5b91a8576e6d578f364cc0e807e4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the SPIx/I2Sx DMA interface. <a href="#gabed5b91a8576e6d578f364cc0e807e4a">More...</a><br /></td></tr>
<tr class="separator:gabed5b91a8576e6d578f364cc0e807e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17f4ef132e8ddbf94cb6b1688d181e41"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga17f4ef132e8ddbf94cb6b1688d181e41">SPI_I2S_ITConfig</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, uint8_t SPI_I2S_IT, FunctionalState NewState)</td></tr>
<tr class="memdesc:ga17f4ef132e8ddbf94cb6b1688d181e41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables the specified SPI/I2S interrupts. <a href="#ga17f4ef132e8ddbf94cb6b1688d181e41">More...</a><br /></td></tr>
<tr class="separator:ga17f4ef132e8ddbf94cb6b1688d181e41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1bd785d129e09c5734a876c8f2767204"><td class="memItemLeft" align="right" valign="top">FlagStatus&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga1bd785d129e09c5734a876c8f2767204">SPI_I2S_GetFlagStatus</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, uint16_t SPI_I2S_FLAG)</td></tr>
<tr class="memdesc:ga1bd785d129e09c5734a876c8f2767204"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the specified SPIx/I2Sx flag is set or not. <a href="#ga1bd785d129e09c5734a876c8f2767204">More...</a><br /></td></tr>
<tr class="separator:ga1bd785d129e09c5734a876c8f2767204"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3aabd9e2437e213056c0ed9bdfa1a724"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga3aabd9e2437e213056c0ed9bdfa1a724">SPI_I2S_ClearFlag</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, uint16_t SPI_I2S_FLAG)</td></tr>
<tr class="memdesc:ga3aabd9e2437e213056c0ed9bdfa1a724"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the SPIx CRC Error (CRCERR) flag. <a href="#ga3aabd9e2437e213056c0ed9bdfa1a724">More...</a><br /></td></tr>
<tr class="separator:ga3aabd9e2437e213056c0ed9bdfa1a724"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72decbc1cd79f8fad92a2204beca6bc5"><td class="memItemLeft" align="right" valign="top">ITStatus&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga72decbc1cd79f8fad92a2204beca6bc5">SPI_I2S_GetITStatus</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, uint8_t SPI_I2S_IT)</td></tr>
<tr class="memdesc:ga72decbc1cd79f8fad92a2204beca6bc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the specified SPIx/I2Sx interrupt has occurred or not. <a href="#ga72decbc1cd79f8fad92a2204beca6bc5">More...</a><br /></td></tr>
<tr class="separator:ga72decbc1cd79f8fad92a2204beca6bc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35a524a49ff3d058137060f751e8749f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html#ga35a524a49ff3d058137060f751e8749f">SPI_I2S_ClearITPendingBit</a> (<a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *SPIx, uint8_t SPI_I2S_IT)</td></tr>
<tr class="memdesc:ga35a524a49ff3d058137060f751e8749f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the SPIx CRC Error (CRCERR) interrupt pending bit. <a href="#ga35a524a49ff3d058137060f751e8749f">More...</a><br /></td></tr>
<tr class="separator:ga35a524a49ff3d058137060f751e8749f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>SPI driver modules. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gafe061c71bbc5b4224f3f2884dc53739e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void I2S_Cmd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the specified SPI peripheral (in I2S mode). </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>where x can be 2 or 3 to select the SPI peripheral (or I2Sxext for full duplex mode). </td></tr>
<tr><td class="paramname">NewState</td><td>new state of the SPIx peripheral. 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="ga60082947bedfe9efc233405be2a7bec2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void I2S_FullDuplexConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>I2Sxext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_i2_s___init_type_def.html">I2S_InitTypeDef</a> *&#160;</td>
<td class="paramname"><em>I2S_InitStruct</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Configures the full duplex mode for the I2Sx peripheral using its extension I2Sxext according to the specified parameters in the I2S_InitStruct. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">I2Sxext</td><td>where x can be 2 or 3 to select the I2S peripheral extension block. </td></tr>
<tr><td class="paramname">I2S_InitStruct</td><td>pointer to an <a class="el" href="struct_i2_s___init_type_def.html" title="I2S Init structure definition. ">I2S_InitTypeDef</a> structure that contains the configuration information for the specified I2S peripheral extension.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The structure pointed by I2S_InitStruct parameter should be the same used for the master I2S peripheral. In this case, if the master is configured as transmitter, the slave will be receiver and vice versa. Or you can force a different mode by modifying the field I2S_Mode to the value I2S_SlaveRx or I2S_SlaveTx indepedently of the master configuration.</dd>
<dd>
The I2S full duplex extension can be configured in slave mode only.</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="ga53661884ae4a9640df7cbc59187782f7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void I2S_Init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_i2_s___init_type_def.html">I2S_InitTypeDef</a> *&#160;</td>
<td class="paramname"><em>I2S_InitStruct</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes the SPIx peripheral according to the specified parameters in the I2S_InitStruct. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>where x can be 2 or 3 to select the SPI peripheral (configured in I2S mode). </td></tr>
<tr><td class="paramname">I2S_InitStruct</td><td>pointer to an <a class="el" href="struct_i2_s___init_type_def.html" title="I2S Init structure definition. ">I2S_InitTypeDef</a> structure that contains the configuration information for the specified SPI peripheral configured in I2S mode.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The function calculates the optimal prescaler needed to obtain the most accurate audio frequency (depending on the I2S clock source, the PLL values and the product configuration). But in case the prescaler value is greater than 511, the default value (0x02) will be configured instead.</dd>
<dd>
if an external clock is used as source clock for the I2S, then the define I2S_EXTERNAL_CLOCK_VAL in file <a class="el" href="stm32f4xx__conf_8h_source.html">stm32f4xx_conf.h</a> should be enabled and set to the value of the the source clock frequency (in Hz).</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="ga7470ec1d0759fdeeb42c7fe71a3b41b7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void I2S_StructInit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_i2_s___init_type_def.html">I2S_InitTypeDef</a> *&#160;</td>
<td class="paramname"><em>I2S_InitStruct</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills each I2S_InitStruct member with its default value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">I2S_InitStruct</td><td>pointer to a <a class="el" href="struct_i2_s___init_type_def.html" title="I2S Init structure definition. ">I2S_InitTypeDef</a> structure which will be initialized. </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="ga166171c421fc51da7714723524d41b45"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_BiDirectionalLineConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>SPI_Direction</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Selects the data transfer direction in bidirectional mode for the specified SPI. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>where x can be 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. </td></tr>
<tr><td class="paramname">SPI_Direction</td><td>specifies the data transfer direction in bidirectional mode. This parameter can be one of the following values: <ul>
<li>SPI_Direction_Tx: Selects Tx transmission direction </li>
<li>SPI_Direction_Rx: Selects Rx receive direction </li>
</ul>
</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="ga64f7276d119e6cb58afc100f8832adb0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_CalculateCRC </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the CRC value calculation of the transferred bytes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>where x can be 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. </td></tr>
<tr><td class="paramname">NewState</td><td>new state of the SPIx CRC value calculation. 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="gaa31357879a65ee1ed7223f3b9114dcf3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_Cmd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the specified SPI peripheral. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>where x can be 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. </td></tr>
<tr><td class="paramname">NewState</td><td>new state of the SPIx peripheral. 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="gafc82e90841d7879535d655c035709cb1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_DataSizeConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>SPI_DataSize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Configures the data size for the selected SPI. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>where x can be 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. </td></tr>
<tr><td class="paramname">SPI_DataSize</td><td>specifies the SPI data size. This parameter can be one of the following values: <ul>
<li>SPI_DataSize_16b: Set data frame format to 16bit </li>
<li>SPI_DataSize_8b: Set data frame format to 8bit </li>
</ul>
</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="ga4c81c193516e82cf0a2fdc149ef20cc6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t SPI_GetCRC </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>SPI_CRC</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the transmit or the receive CRC register value for the specified SPI. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>where x can be 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. </td></tr>
<tr><td class="paramname">SPI_CRC</td><td>specifies the CRC register to be read. This parameter can be one of the following values: <ul>
<li>SPI_CRC_Tx: Selects Tx CRC register </li>
<li>SPI_CRC_Rx: Selects Rx CRC register </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">The</td><td>selected CRC register value.. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga80fb9374cfce670f29128bb78568353f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t SPI_GetCRCPolynomial </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the CRC Polynomial register value for the specified SPI. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>where x can be 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">The</td><td>CRC Polynomial register value. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga3aabd9e2437e213056c0ed9bdfa1a724"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_I2S_ClearFlag </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>SPI_I2S_FLAG</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clears the SPIx CRC Error (CRCERR) flag. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>To select the SPIx/I2Sx peripheral, where x can be: 1, 2, 3, 4, 5 or 6 in SPI mode or 2 or 3 in I2S mode or I2Sxext for I2S full duplex mode. </td></tr>
<tr><td class="paramname">SPI_I2S_FLAG</td><td>specifies the SPI flag to clear. This function clears only CRCERR flag. <ul>
<li>SPI_FLAG_CRCERR: CRC Error flag.</li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>OVR (OverRun error) flag is cleared by software sequence: a read operation to SPI_DR register (<a class="el" href="group___s_p_i___group2.html#gab77de76547f3bff403236b263b070a30" title="Returns the most recent received data by the SPIx/I2Sx peripheral. ">SPI_I2S_ReceiveData()</a>) followed by a read operation to SPI_SR register (<a class="el" href="group___s_p_i___group5.html#ga1bd785d129e09c5734a876c8f2767204" title="Checks whether the specified SPIx/I2Sx flag is set or not. ">SPI_I2S_GetFlagStatus()</a>). </dd>
<dd>
UDR (UnderRun error) flag is cleared by a read operation to SPI_SR register (<a class="el" href="group___s_p_i___group5.html#ga1bd785d129e09c5734a876c8f2767204" title="Checks whether the specified SPIx/I2Sx flag is set or not. ">SPI_I2S_GetFlagStatus()</a>). </dd>
<dd>
MODF (Mode Fault) flag is cleared by software sequence: a read/write operation to SPI_SR register (<a class="el" href="group___s_p_i___group5.html#ga1bd785d129e09c5734a876c8f2767204" title="Checks whether the specified SPIx/I2Sx flag is set or not. ">SPI_I2S_GetFlagStatus()</a>) followed by a write operation to SPI_CR1 register (<a class="el" href="group___s_p_i___group1.html#gaa31357879a65ee1ed7223f3b9114dcf3" title="Enables or disables the specified SPI peripheral. ">SPI_Cmd()</a> to enable the SPI).</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="ga35a524a49ff3d058137060f751e8749f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_I2S_ClearITPendingBit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>SPI_I2S_IT</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clears the SPIx CRC Error (CRCERR) interrupt pending bit. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>To select the SPIx/I2Sx peripheral, where x can be: 1, 2, 3, 4, 5 or 6 in SPI mode or 2 or 3 in I2S mode or I2Sxext for I2S full duplex mode. </td></tr>
<tr><td class="paramname">SPI_I2S_IT</td><td>specifies the SPI interrupt pending bit to clear. This function clears only CRCERR interrupt pending bit. <ul>
<li>SPI_IT_CRCERR: CRC Error interrupt.</li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>OVR (OverRun Error) interrupt pending bit is cleared by software sequence: a read operation to SPI_DR register (<a class="el" href="group___s_p_i___group2.html#gab77de76547f3bff403236b263b070a30" title="Returns the most recent received data by the SPIx/I2Sx peripheral. ">SPI_I2S_ReceiveData()</a>) followed by a read operation to SPI_SR register (<a class="el" href="group___s_p_i___group5.html#ga72decbc1cd79f8fad92a2204beca6bc5" title="Checks whether the specified SPIx/I2Sx interrupt has occurred or not. ">SPI_I2S_GetITStatus()</a>). </dd>
<dd>
UDR (UnderRun Error) interrupt pending bit is cleared by a read operation to SPI_SR register (<a class="el" href="group___s_p_i___group5.html#ga72decbc1cd79f8fad92a2204beca6bc5" title="Checks whether the specified SPIx/I2Sx interrupt has occurred or not. ">SPI_I2S_GetITStatus()</a>). </dd>
<dd>
MODF (Mode Fault) interrupt pending bit is cleared by software sequence: a read/write operation to SPI_SR register (<a class="el" href="group___s_p_i___group5.html#ga72decbc1cd79f8fad92a2204beca6bc5" title="Checks whether the specified SPIx/I2Sx interrupt has occurred or not. ">SPI_I2S_GetITStatus()</a>) followed by a write operation to SPI_CR1 register (<a class="el" href="group___s_p_i___group1.html#gaa31357879a65ee1ed7223f3b9114dcf3" title="Enables or disables the specified SPI peripheral. ">SPI_Cmd()</a> to enable the SPI). </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="gabe36880945fa56785283a9c0092124cc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_I2S_DeInit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>De-initialize the SPIx peripheral registers to their default reset values. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>To select the SPIx/I2Sx peripheral, where x can be: 1, 2, 3, 4, 5 or 6 in SPI mode or 2 or 3 in I2S mode.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The extended I2S blocks (ie. I2S2ext and I2S3ext blocks) are de-initialized when the relative I2S peripheral is de-initialized (the extended block's clock is managed by the I2S peripheral clock).</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>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___s_p_i_gabe36880945fa56785283a9c0092124cc_cgraph.png" border="0" usemap="#group___s_p_i_gabe36880945fa56785283a9c0092124cc_cgraph" alt=""/></div>
<map name="group___s_p_i_gabe36880945fa56785283a9c0092124cc_cgraph" id="group___s_p_i_gabe36880945fa56785283a9c0092124cc_cgraph">
<area shape="rect" id="node2" href="group___r_c_c.html#gad94553850ac07106a27ee85fec37efdf" title="Forces or releases High Speed APB (APB2) peripheral reset. " alt="" coords="163,5,351,32"/><area shape="rect" id="node3" href="group___r_c_c.html#gab197ae4369c10b92640a733b40ed2801" title="Forces or releases Low Speed APB (APB1) peripheral reset. " alt="" coords="163,56,351,83"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="gabed5b91a8576e6d578f364cc0e807e4a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_I2S_DMACmd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>SPI_I2S_DMAReq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the SPIx/I2Sx DMA interface. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>To select the SPIx/I2Sx peripheral, where x can be: 1, 2, 3, 4, 5 or 6 in SPI mode or 2 or 3 in I2S mode or I2Sxext for I2S full duplex mode. </td></tr>
<tr><td class="paramname">SPI_I2S_DMAReq</td><td>specifies the SPI DMA transfer request to be enabled or disabled. This parameter can be any combination of the following values: <ul>
<li>SPI_I2S_DMAReq_Tx: Tx buffer DMA transfer request </li>
<li>SPI_I2S_DMAReq_Rx: Rx buffer DMA transfer request </li>
</ul>
</td></tr>
<tr><td class="paramname">NewState</td><td>new state of the selected SPI DMA transfer request. 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="ga1bd785d129e09c5734a876c8f2767204"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">FlagStatus SPI_I2S_GetFlagStatus </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>SPI_I2S_FLAG</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks whether the specified SPIx/I2Sx flag is set or not. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>To select the SPIx/I2Sx peripheral, where x can be: 1, 2, 3, 4, 5 or 6 in SPI mode or 2 or 3 in I2S mode or I2Sxext for I2S full duplex mode. </td></tr>
<tr><td class="paramname">SPI_I2S_FLAG</td><td>specifies the SPI flag to check. This parameter can be one of the following values: <ul>
<li>SPI_I2S_FLAG_TXE: Transmit buffer empty flag. </li>
<li>SPI_I2S_FLAG_RXNE: Receive buffer not empty flag. </li>
<li>SPI_I2S_FLAG_BSY: Busy flag. </li>
<li>SPI_I2S_FLAG_OVR: Overrun flag. </li>
<li>SPI_FLAG_MODF: Mode Fault flag. </li>
<li>SPI_FLAG_CRCERR: CRC Error flag. </li>
<li>SPI_I2S_FLAG_TIFRFE: Format Error. </li>
<li>I2S_FLAG_UDR: Underrun Error flag. </li>
<li>I2S_FLAG_CHSIDE: Channel Side flag. </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">The</td><td>new state of SPI_I2S_FLAG (SET or RESET). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga72decbc1cd79f8fad92a2204beca6bc5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ITStatus SPI_I2S_GetITStatus </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>SPI_I2S_IT</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks whether the specified SPIx/I2Sx interrupt has occurred or not. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>To select the SPIx/I2Sx peripheral, where x can be: 1, 2, 3, 4, 5 or 6 in SPI mode or 2 or 3 in I2S mode or I2Sxext for I2S full duplex mode. </td></tr>
<tr><td class="paramname">SPI_I2S_IT</td><td>specifies the SPI interrupt source to check. This parameter can be one of the following values: <ul>
<li>SPI_I2S_IT_TXE: Transmit buffer empty interrupt. </li>
<li>SPI_I2S_IT_RXNE: Receive buffer not empty interrupt. </li>
<li>SPI_I2S_IT_OVR: Overrun interrupt. </li>
<li>SPI_IT_MODF: Mode Fault interrupt. </li>
<li>SPI_IT_CRCERR: CRC Error interrupt. </li>
<li>I2S_IT_UDR: Underrun interrupt. </li>
<li>SPI_I2S_IT_TIFRFE: Format Error interrupt. </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">The</td><td>new state of SPI_I2S_IT (SET or RESET). </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga17f4ef132e8ddbf94cb6b1688d181e41"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_I2S_ITConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>SPI_I2S_IT</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the specified SPI/I2S interrupts. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>To select the SPIx/I2Sx peripheral, where x can be: 1, 2, 3, 4, 5 or 6 in SPI mode or 2 or 3 in I2S mode or I2Sxext for I2S full duplex mode. </td></tr>
<tr><td class="paramname">SPI_I2S_IT</td><td>specifies the SPI interrupt source to be enabled or disabled. This parameter can be one of the following values: <ul>
<li>SPI_I2S_IT_TXE: Tx buffer empty interrupt mask </li>
<li>SPI_I2S_IT_RXNE: Rx buffer not empty interrupt mask </li>
<li>SPI_I2S_IT_ERR: Error interrupt mask </li>
</ul>
</td></tr>
<tr><td class="paramname">NewState</td><td>new state of the specified SPI interrupt. 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="gab77de76547f3bff403236b263b070a30"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t SPI_I2S_ReceiveData </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the most recent received data by the SPIx/I2Sx peripheral. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>To select the SPIx/I2Sx peripheral, where x can be: 1, 2, 3, 4, 5 or 6 in SPI mode or 2 or 3 in I2S mode or I2Sxext for I2S full duplex mode. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">The</td><td>value of the received data. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad5af40bebe8dbe3fa8bd476489d7e3da"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_I2S_SendData </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>Data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Transmits a Data through the SPIx/I2Sx peripheral. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>To select the SPIx/I2Sx peripheral, where x can be: 1, 2, 3, 4, 5 or 6 in SPI mode or 2 or 3 in I2S mode or I2Sxext for I2S full duplex mode. </td></tr>
<tr><td class="paramname">Data</td><td>Data to be transmitted. </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="ga8dacc1dc48bf08c0f12da409f4889037"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_Init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_s_p_i___init_type_def.html">SPI_InitTypeDef</a> *&#160;</td>
<td class="paramname"><em>SPI_InitStruct</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes the SPIx peripheral according to the specified parameters in the SPI_InitStruct. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>where x can be 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. </td></tr>
<tr><td class="paramname">SPI_InitStruct</td><td>pointer to a <a class="el" href="struct_s_p_i___init_type_def.html" title="SPI Init structure definition. ">SPI_InitTypeDef</a> structure that contains the configuration information for the specified SPI peripheral. </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="ga56fc508a482f032f9eb80e4c63184126"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_NSSInternalSoftwareConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>SPI_NSSInternalSoft</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Configures internally by software the NSS pin for the selected SPI. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>where x can be 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. </td></tr>
<tr><td class="paramname">SPI_NSSInternalSoft</td><td>specifies the SPI NSS internal state. This parameter can be one of the following values: <ul>
<li>SPI_NSSInternalSoft_Set: Set NSS pin internally </li>
<li>SPI_NSSInternalSoft_Reset: Reset NSS pin internally </li>
</ul>
</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="ga4ec54abdedf6cd17403d853a926d91c1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_SSOutputCmd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the SS output for the selected SPI. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>where x can be 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. </td></tr>
<tr><td class="paramname">NewState</td><td>new state of the SPIx SS output. 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="ga9a0116f88cc2c4478c270f05608703f1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_StructInit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___init_type_def.html">SPI_InitTypeDef</a> *&#160;</td>
<td class="paramname"><em>SPI_InitStruct</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Fills each SPI_InitStruct member with its default value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPI_InitStruct</td><td>pointer to a <a class="el" href="struct_s_p_i___init_type_def.html" title="SPI Init structure definition. ">SPI_InitTypeDef</a> structure which will be initialized. </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="ga74594bf32e3bf4905ac7a2deef8eb475"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_TIModeCmd </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FunctionalState&#160;</td>
<td class="paramname"><em>NewState</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables the SPIx/I2Sx DMA interface. </p>
<dl class="section note"><dt>Note</dt><dd>This function can be called only after the <a class="el" href="group___s_p_i___group1.html#ga8dacc1dc48bf08c0f12da409f4889037" title="Initializes the SPIx peripheral according to the specified parameters in the SPI_InitStruct. ">SPI_Init()</a> function has been called. </dd>
<dd>
When TI mode is selected, the control bits SSM, SSI, CPOL and CPHA are not taken into consideration and are configured by hardware respectively to the TI mode requirements.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>where x can be 1, 2, 3, 4, 5 or 6 </td></tr>
<tr><td class="paramname">NewState</td><td>new state of the selected SPI TI communication 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="gace8b1058e09bab150b0dbe5978810273"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SPI_TransmitCRC </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_p_i___type_def.html">SPI_TypeDef</a> *&#160;</td>
<td class="paramname"><em>SPIx</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Transmit the SPIx CRC value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">SPIx</td><td>where x can be 1, 2, 3, 4, 5 or 6 to select the SPI peripheral. </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>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun May 10 2015 15:15:20 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>