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

201 lines
20 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_exti.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="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">stm32f4xx_exti.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This file provides firmware functions to manage the following functionalities of the EXTI peripheral:
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="stm32f4xx__exti_8h_source.html">stm32f4xx_exti.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for stm32f4xx_exti.c:</div>
<div class="dyncontent">
<div class="center"><img src="stm32f4xx__exti_8c__incl.png" border="0" usemap="#discovery_2libs_2_stm_core_n_pheriph_2src_2stm32f4xx__exti_8c" alt=""/></div>
<map name="discovery_2libs_2_stm_core_n_pheriph_2src_2stm32f4xx__exti_8c" id="discovery_2libs_2_stm_core_n_pheriph_2src_2stm32f4xx__exti_8c">
<area shape="rect" id="node2" href="stm32f4xx__exti_8h.html" title="This file contains all the functions prototypes for the EXTI firmware library. " alt="" coords="2206,95,2327,121"/><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="2161,169,2255,196"/><area shape="rect" id="node4" href="core__cm4_8h.html" title="CMSIS Cortex&#45;M4 Core Peripheral Access Layer Header File. " alt="" coords="349,244,440,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="182,244,325,271"/><area shape="rect" id="node10" href="stm32f4xx__conf_8h_source.html" title="stm32f4xx_conf.h" alt="" coords="2281,244,2405,271"/><area shape="rect" id="node6" href="core__cm_instr_8h.html" title="CMSIS Cortex&#45;M Core Instruction Access Header File. " alt="" coords="5,319,112,345"/><area shape="rect" id="node7" href="core__cm_func_8h.html" title="CMSIS Cortex&#45;M Core Function Access Header File. " alt="" coords="136,319,248,345"/><area shape="rect" id="node8" href="core__cm4__simd_8h.html" title="CMSIS Cortex&#45;M4 SIMD Header File. " alt="" coords="272,319,397,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="511,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,775,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="800,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,1096,345"/><area shape="rect" id="node15" href="stm32f4xx__flash_8h.html" title="This file contains all the functions prototypes for the FLASH firmware library. " alt="" coords="1121,319,1247,345"/><area shape="rect" id="node16" href="stm32f4xx__gpio_8h.html" title="This file contains all the functions prototypes for the GPIO firmware library. " alt="" coords="1271,319,1395,345"/><area shape="rect" id="node17" href="stm32f4xx__i2c_8h.html" title="This file contains all the functions prototypes for the I2C firmware library. " alt="" coords="1419,319,1536,345"/><area shape="rect" id="node18" href="stm32f4xx__iwdg_8h.html" title="This file contains all the functions prototypes for the IWDG firmware library. " alt="" coords="1561,319,1687,345"/><area shape="rect" id="node19" href="stm32f4xx__pwr_8h.html" title="This file contains all the functions prototypes for the PWR firmware library. " alt="" coords="1711,319,1830,345"/><area shape="rect" id="node20" href="stm32f4xx__rcc_8h.html" title="This file contains all the functions prototypes for the RCC firmware library. " alt="" coords="1854,319,1973,345"/><area shape="rect" id="node21" href="stm32f4xx__rtc_8h.html" title="This file contains all the functions prototypes for the RTC firmware library. " alt="" coords="1997,319,2112,345"/><area shape="rect" id="node22" href="stm32f4xx__sdio_8h.html" title="This file contains all the functions prototypes for the SDIO firmware library. " alt="" coords="2137,319,2261,345"/><area shape="rect" id="node23" href="stm32f4xx__spi_8h.html" title="This file contains all the functions prototypes for the SPI firmware library. " alt="" coords="2284,319,2401,345"/><area shape="rect" id="node24" href="stm32f4xx__syscfg_8h.html" title="This file contains all the functions prototypes for the SYSCFG firmware library. " alt="" coords="2425,319,2564,345"/><area shape="rect" id="node25" href="stm32f4xx__tim_8h.html" title="This file contains all the functions prototypes for the TIM firmware library. " alt="" coords="2589,319,2707,345"/><area shape="rect" id="node26" href="stm32f4xx__usart_8h.html" title="This file contains all the functions prototypes for the USART firmware library. " alt="" coords="2731,319,2861,345"/><area shape="rect" id="node27" href="stm32f4xx__wwdg_8h.html" title="This file contains all the functions prototypes for the WWDG firmware library. " alt="" coords="2885,319,3017,345"/><area shape="rect" id="node28" href="misc_8h.html" title="This file contains all the functions prototypes for the miscellaneous firmware library functions (add..." alt="" coords="3041,319,3103,345"/><area shape="rect" id="node29" href="stm32f4xx__cryp_8h.html" title="This file contains all the functions prototypes for the Cryptographic processor(CRYP) firmware librar..." alt="" coords="3127,319,3252,345"/><area shape="rect" id="node30" href="stm32f4xx__hash_8h.html" title="This file contains all the functions prototypes for the HASH firmware library. " alt="" coords="3276,319,3404,345"/><area shape="rect" id="node31" href="stm32f4xx__rng_8h.html" title="This file contains all the functions prototypes for the Random Number Generator(RNG) firmware library..." alt="" coords="3429,319,3547,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="3571,319,3693,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="3717,319,3838,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="3863,319,3991,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="4015,319,4143,345"/></map>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga4451b67e337fc341394ee695273798af"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4451b67e337fc341394ee695273798af"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>EXTI_LINENONE</b>&#160;&#160;&#160;((uint32_t)0x00000) /* No interrupt selected */</td></tr>
<tr class="separator:ga4451b67e337fc341394ee695273798af"><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:ga07072e339cb9ecb9cd9d4b94afc9f317"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_x_t_i___group1.html#ga07072e339cb9ecb9cd9d4b94afc9f317">EXTI_DeInit</a> (void)</td></tr>
<tr class="memdesc:ga07072e339cb9ecb9cd9d4b94afc9f317"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deinitializes the EXTI peripheral registers to their default reset values. <a href="group___e_x_t_i___group1.html#ga07072e339cb9ecb9cd9d4b94afc9f317">More...</a><br /></td></tr>
<tr class="separator:ga07072e339cb9ecb9cd9d4b94afc9f317"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c9ce6352a3a2dfc8fc9287cb24c6501"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_x_t_i___group1.html#ga8c9ce6352a3a2dfc8fc9287cb24c6501">EXTI_Init</a> (<a class="el" href="struct_e_x_t_i___init_type_def.html">EXTI_InitTypeDef</a> *EXTI_InitStruct)</td></tr>
<tr class="memdesc:ga8c9ce6352a3a2dfc8fc9287cb24c6501"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the EXTI peripheral according to the specified parameters in the EXTI_InitStruct. <a href="group___e_x_t_i___group1.html#ga8c9ce6352a3a2dfc8fc9287cb24c6501">More...</a><br /></td></tr>
<tr class="separator:ga8c9ce6352a3a2dfc8fc9287cb24c6501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86b9e662d18a2f829999cfb26aa7ca20"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_x_t_i___group1.html#ga86b9e662d18a2f829999cfb26aa7ca20">EXTI_StructInit</a> (<a class="el" href="struct_e_x_t_i___init_type_def.html">EXTI_InitTypeDef</a> *EXTI_InitStruct)</td></tr>
<tr class="memdesc:ga86b9e662d18a2f829999cfb26aa7ca20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fills each EXTI_InitStruct member with its reset value. <a href="group___e_x_t_i___group1.html#ga86b9e662d18a2f829999cfb26aa7ca20">More...</a><br /></td></tr>
<tr class="separator:ga86b9e662d18a2f829999cfb26aa7ca20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga897e8ea59f40a19e047fb9994876fc9b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_x_t_i___group1.html#ga897e8ea59f40a19e047fb9994876fc9b">EXTI_GenerateSWInterrupt</a> (uint32_t EXTI_Line)</td></tr>
<tr class="memdesc:ga897e8ea59f40a19e047fb9994876fc9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a Software interrupt on selected EXTI line. <a href="group___e_x_t_i___group1.html#ga897e8ea59f40a19e047fb9994876fc9b">More...</a><br /></td></tr>
<tr class="separator:ga897e8ea59f40a19e047fb9994876fc9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0ce06e6b312592df149800d63218cffa"><td class="memItemLeft" align="right" valign="top">FlagStatus&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_x_t_i___group2.html#ga0ce06e6b312592df149800d63218cffa">EXTI_GetFlagStatus</a> (uint32_t EXTI_Line)</td></tr>
<tr class="memdesc:ga0ce06e6b312592df149800d63218cffa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the specified EXTI line flag is set or not. <a href="group___e_x_t_i___group2.html#ga0ce06e6b312592df149800d63218cffa">More...</a><br /></td></tr>
<tr class="separator:ga0ce06e6b312592df149800d63218cffa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8e07aaaa286dea4803605d5968850a92"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_x_t_i___group2.html#ga8e07aaaa286dea4803605d5968850a92">EXTI_ClearFlag</a> (uint32_t EXTI_Line)</td></tr>
<tr class="memdesc:ga8e07aaaa286dea4803605d5968850a92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the EXTI's line pending flags. <a href="group___e_x_t_i___group2.html#ga8e07aaaa286dea4803605d5968850a92">More...</a><br /></td></tr>
<tr class="separator:ga8e07aaaa286dea4803605d5968850a92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf7b51519062ae42fd27ee689cab364aa"><td class="memItemLeft" align="right" valign="top">ITStatus&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_x_t_i___group2.html#gaf7b51519062ae42fd27ee689cab364aa">EXTI_GetITStatus</a> (uint32_t EXTI_Line)</td></tr>
<tr class="memdesc:gaf7b51519062ae42fd27ee689cab364aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the specified EXTI line is asserted or not. <a href="group___e_x_t_i___group2.html#gaf7b51519062ae42fd27ee689cab364aa">More...</a><br /></td></tr>
<tr class="separator:gaf7b51519062ae42fd27ee689cab364aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3652a7e682728b310c124e7e974d1468"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___e_x_t_i___group2.html#ga3652a7e682728b310c124e7e974d1468">EXTI_ClearITPendingBit</a> (uint32_t EXTI_Line)</td></tr>
<tr class="memdesc:ga3652a7e682728b310c124e7e974d1468"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the EXTI's line pending bits. <a href="group___e_x_t_i___group2.html#ga3652a7e682728b310c124e7e974d1468">More...</a><br /></td></tr>
<tr class="separator:ga3652a7e682728b310c124e7e974d1468"><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 EXTI 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>Interrupts and flags management</li>
</ul>
</dd></dl>
<pre class="fragment"> ===============================================================================
##### EXTI features #####
===============================================================================
[..] External interrupt/event lines are mapped as following:
(#) All available GPIO pins are connected to the 16 external
interrupt/event lines from EXTI0 to EXTI15.
(#) EXTI line 16 is connected to the PVD Output
(#) EXTI line 17 is connected to the RTC Alarm event
(#) EXTI line 18 is connected to the USB OTG FS Wakeup from suspend event
(#) EXTI line 19 is connected to the Ethernet Wakeup event
(#) EXTI line 20 is connected to the USB OTG HS (configured in FS) Wakeup event
(#) EXTI line 21 is connected to the RTC Tamper and Time Stamp events
(#) EXTI line 22 is connected to the RTC Wakeup event
##### How to use this driver #####
===============================================================================
[..] In order to use an I/O pin as an external interrupt source, follow steps
below:
(#) Configure the I/O in input mode using GPIO_Init()
(#) Select the input source pin for the EXTI line using SYSCFG_EXTILineConfig()
(#) Select the mode(interrupt, event) and configure the trigger
selection (Rising, falling or both) using EXTI_Init()
(#) Configure NVIC IRQ channel mapped to the EXTI line using NVIC_Init()
[..]
(@) SYSCFG APB clock must be enabled to get write access to SYSCFG_EXTICRx
registers using RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);</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>