]> begriffs open source - cmsis/blob - main/Driver/group__gpio__interface__gr.html
Update documentation for branch main
[cmsis] / main / Driver / group__gpio__interface__gr.html
1 <!-- HTML header for doxygen 1.9.6-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
4 <head>
5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>CMSIS-Driver: GPIO Interface</title>
9 <link href="doxygen.css" rel="stylesheet" type="text/css" />
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <script type="text/javascript" src="tabs.js"></script>
13 <script type="text/javascript" src="footer.js"></script>
14 <script type="text/javascript" src="navtree.js"></script>
15 <link href="navtree.css" rel="stylesheet" type="text/css"/>
16 <script type="text/javascript" src="resize.js"></script>
17 <script type="text/javascript" src="navtreedata.js"></script>
18 <script type="text/javascript" src="navtree.js"></script>
19 <link href="search/search.css" rel="stylesheet" type="text/css"/>
20 <script type="text/javascript" src="search/searchdata.js"></script>
21 <script type="text/javascript" src="search/search.js"></script>
22 <script type="text/javascript">
23 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
24   $(document).ready(function() { init_search(); });
25 /* @license-end */
26 </script>
27 <script type="text/javascript" src="darkmode_toggle.js"></script>
28 <link href="extra_stylesheet.css" rel="stylesheet" type="text/css"/>
29 <link href="extra_navtree.css" rel="stylesheet" type="text/css"/>
30 <link href="extra_search.css" rel="stylesheet" type="text/css"/>
31 <link href="extra_tabs.css" rel="stylesheet" type="text/css"/>
32 <link href="version.css" rel="stylesheet" type="text/css"/>
33 <script type="text/javascript" src="../../version.js"></script>
34 </head>
35 <body>
36 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
37 <div id="titlearea">
38 <table cellspacing="0" cellpadding="0">
39  <tbody>
40  <tr style="height: 55px;">
41   <td id="projectlogo" style="padding: 1.5em;"><img alt="Logo" src="cmsis_logo_white_small.png"/></td>
42   <td style="padding-left: 1em; padding-bottom: 1em;padding-top: 1em;">
43    <div id="projectname">CMSIS-Driver
44    &#160;<span id="projectnumber"><script type="text/javascript">
45      <!--
46      writeHeader.call(this);
47      writeVersionDropdown.call(this, "CMSIS-Driver");
48      //-->
49     </script>
50    </span>
51    </div>
52    <div id="projectbrief">Peripheral Interface for Middleware and Application Code</div>
53   </td>
54    <td>        <div id="MSearchBox" class="MSearchBoxInactive">
55         <span class="left">
56           <span id="MSearchSelect"                onmouseover="return searchBox.OnSearchSelectShow()"                onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
57           <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
58                onfocus="searchBox.OnSearchFieldFocus(true)" 
59                onblur="searchBox.OnSearchFieldFocus(false)" 
60                onkeyup="searchBox.OnSearchFieldChange(event)"/>
61           </span><span class="right">
62             <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
63           </span>
64         </div>
65 </td>
66   <!--END !PROJECT_NAME-->
67  </tr>
68  </tbody>
69 </table>
70 </div>
71 <!-- end header part -->
72 <div id="CMSISnav" class="tabs1">
73   <ul class="tablist">
74     <script type="text/javascript">
75       writeComponentTabs.call(this);
76     </script>
77   </ul>
78 </div>
79 <script type="text/javascript">
80   writeSubComponentTabs.call(this);
81 </script>
82 <!-- Generated by Doxygen 1.9.6 -->
83 <script type="text/javascript">
84 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
85 var searchBox = new SearchBox("searchBox", "search/",'.html');
86 /* @license-end */
87 </script>
88 </div><!-- top -->
89 <div id="side-nav" class="ui-resizable side-nav-resizable">
90   <div id="nav-tree">
91     <div id="nav-tree-contents">
92       <div id="nav-sync" class="sync"></div>
93     </div>
94   </div>
95   <div id="splitbar" style="-moz-user-select:none;" 
96        class="ui-resizable-handle">
97   </div>
98 </div>
99 <script type="text/javascript">
100 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
101 $(document).ready(function(){initNavTree('group__gpio__interface__gr.html',''); initResizable(); });
102 /* @license-end */
103 </script>
104 <div id="doc-content">
105 <!-- window showing the filter options -->
106 <div id="MSearchSelectWindow"
107      onmouseover="return searchBox.OnSearchSelectShow()"
108      onmouseout="return searchBox.OnSearchSelectHide()"
109      onkeydown="return searchBox.OnSearchSelectKey(event)">
110 </div>
111
112 <!-- iframe showing the search results (closed by default) -->
113 <div id="MSearchResultsWindow">
114 <div id="MSearchResults">
115 <div class="SRPage">
116 <div id="SRIndex">
117 <div id="SRResults"></div>
118 <div class="SRStatus" id="Loading">Loading...</div>
119 <div class="SRStatus" id="Searching">Searching...</div>
120 <div class="SRStatus" id="NoMatches">No Matches</div>
121 </div>
122 </div>
123 </div>
124 </div>
125
126 <div class="header">
127   <div class="summary">
128 <a href="#groups">Content</a> &#124;
129 <a href="#nested-classes">Data Structures</a> &#124;
130 <a href="#typedef-members">Typedefs</a> &#124;
131 <a href="#enum-members">Enumerations</a> &#124;
132 <a href="#func-members">Functions</a>  </div>
133   <div class="headertitle"><div class="title">GPIO Interface</div></div>
134 </div><!--header-->
135 <div class="contents">
136
137 <p>Driver API for GPIO Interface (Driver_GPIO.h)  
138 <a href="#details">More...</a></p>
139 <table class="memberdecls">
140 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="groups" name="groups"></a>
141 Content</h2></td></tr>
142 <tr class="memitem:group__gpio__execution__status"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__execution__status.html">GPIO Status Error Codes</a></td></tr>
143 <tr class="memdesc:group__gpio__execution__status"><td class="mdescLeft">&#160;</td><td class="mdescRight">Negative values indicate errors (GPIO has specific codes in addition to common <a class="el" href="group__execution__status.html">Status Error Codes</a>). <br /></td></tr>
144 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
145 <tr class="memitem:group__GPIO__events"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__GPIO__events.html">GPIO Events</a></td></tr>
146 <tr class="memdesc:group__GPIO__events"><td class="mdescLeft">&#160;</td><td class="mdescRight">The GPIO driver generates call back events that are notified via the function <a class="el" href="group__gpio__interface__gr.html#ga85dd1634405efb2eae2d3775ecdc6081">ARM_GPIO_SignalEvent</a>. <br /></td></tr>
147 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
148 </table><table class="memberdecls">
149 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
150 Data Structures</h2></td></tr>
151 <tr class="memitem:structARM__DRIVER__GPIO"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#structARM__DRIVER__GPIO">ARM_DRIVER_GPIO</a></td></tr>
152 <tr class="memdesc:structARM__DRIVER__GPIO"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access structure of the GPIO Driver.  <a href="group__gpio__interface__gr.html#structARM__DRIVER__GPIO">More...</a><br /></td></tr>
153 <tr class="separator:structARM__DRIVER__GPIO"><td class="memSeparator" colspan="2">&#160;</td></tr>
154 </table><table class="memberdecls">
155 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
156 Typedefs</h2></td></tr>
157 <tr class="memitem:gaf08560b02fd3c47a474eb9be26631640"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#gaf08560b02fd3c47a474eb9be26631640">ARM_GPIO_SignalEvent_t</a>) (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, uint32_t event)</td></tr>
158 <tr class="separator:gaf08560b02fd3c47a474eb9be26631640"><td class="memSeparator" colspan="2">&#160;</td></tr>
159 </table><table class="memberdecls">
160 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
161 Enumerations</h2></td></tr>
162 <tr class="memitem:gadb33882caa9dc3a481d19ab16573dd4c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#gadb33882caa9dc3a481d19ab16573dd4c">ARM_GPIO_DIRECTION</a> { <br />
163 &#160;&#160;<a class="el" href="group__gpio__interface__gr.html#gadb33882caa9dc3a481d19ab16573dd4ca58fb239e72a3f93e94f2efe71477bd18">ARM_GPIO_INPUT</a>
164 , <br />
165 &#160;&#160;<a class="el" href="group__gpio__interface__gr.html#gadb33882caa9dc3a481d19ab16573dd4cad4685767096d17e5acb6abf6c6495d06">ARM_GPIO_OUTPUT</a>
166 <br />
167  }</td></tr>
168 <tr class="memdesc:gadb33882caa9dc3a481d19ab16573dd4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPIO Direction.  <a href="group__gpio__interface__gr.html#gadb33882caa9dc3a481d19ab16573dd4c">More...</a><br /></td></tr>
169 <tr class="separator:gadb33882caa9dc3a481d19ab16573dd4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
170 <tr class="memitem:ga1fc02461f93fabddb49fd46513c7480b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#ga1fc02461f93fabddb49fd46513c7480b">ARM_GPIO_OUTPUT_MODE</a> { <br />
171 &#160;&#160;<a class="el" href="group__gpio__interface__gr.html#ga1fc02461f93fabddb49fd46513c7480bac4b9f2ea6c849cf47d9ed2cf7ccf7a93">ARM_GPIO_PUSH_PULL</a>
172 , <br />
173 &#160;&#160;<a class="el" href="group__gpio__interface__gr.html#ga1fc02461f93fabddb49fd46513c7480ba0a24a2221d2d9a31dff9a81e3b7e888f">ARM_GPIO_OPEN_DRAIN</a>
174 <br />
175  }</td></tr>
176 <tr class="memdesc:ga1fc02461f93fabddb49fd46513c7480b"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPIO Output Mode.  <a href="group__gpio__interface__gr.html#ga1fc02461f93fabddb49fd46513c7480b">More...</a><br /></td></tr>
177 <tr class="separator:ga1fc02461f93fabddb49fd46513c7480b"><td class="memSeparator" colspan="2">&#160;</td></tr>
178 <tr class="memitem:ga3e46add7954c3c9ba9617d630565c913"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#ga3e46add7954c3c9ba9617d630565c913">ARM_GPIO_PULL_RESISTOR</a> { <br />
179 &#160;&#160;<a class="el" href="group__gpio__interface__gr.html#ga3e46add7954c3c9ba9617d630565c913a187a7bb55ed81726845c8c194f28d49c">ARM_GPIO_PULL_NONE</a>
180 , <br />
181 &#160;&#160;<a class="el" href="group__gpio__interface__gr.html#ga3e46add7954c3c9ba9617d630565c913a73c7ba703ce0cd40f77392bb28a4a188">ARM_GPIO_PULL_UP</a>
182 , <br />
183 &#160;&#160;<a class="el" href="group__gpio__interface__gr.html#ga3e46add7954c3c9ba9617d630565c913a4fc8779c762a502dd029b7a676cc022b">ARM_GPIO_PULL_DOWN</a>
184 <br />
185  }</td></tr>
186 <tr class="memdesc:ga3e46add7954c3c9ba9617d630565c913"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPIO Pull Resistor.  <a href="group__gpio__interface__gr.html#ga3e46add7954c3c9ba9617d630565c913">More...</a><br /></td></tr>
187 <tr class="separator:ga3e46add7954c3c9ba9617d630565c913"><td class="memSeparator" colspan="2">&#160;</td></tr>
188 <tr class="memitem:ga0df966ec6b2ebedd7880a3efc75976cd"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#ga0df966ec6b2ebedd7880a3efc75976cd">ARM_GPIO_EVENT_TRIGGER</a> { <br />
189 &#160;&#160;<a class="el" href="group__gpio__interface__gr.html#ga0df966ec6b2ebedd7880a3efc75976cda93171249f006c83b7661df73d976556d">ARM_GPIO_TRIGGER_NONE</a>
190 , <br />
191 &#160;&#160;<a class="el" href="group__gpio__interface__gr.html#ga0df966ec6b2ebedd7880a3efc75976cdaba20b1e31878cce514240db48ff72936">ARM_GPIO_TRIGGER_RISING_EDGE</a>
192 , <br />
193 &#160;&#160;<a class="el" href="group__gpio__interface__gr.html#ga0df966ec6b2ebedd7880a3efc75976cdafa65dc9f0e518b4d640e69e194ffd847">ARM_GPIO_TRIGGER_FALLING_EDGE</a>
194 , <br />
195 &#160;&#160;<a class="el" href="group__gpio__interface__gr.html#ga0df966ec6b2ebedd7880a3efc75976cdaf08214415e90ef3b65e3438b1b523873">ARM_GPIO_TRIGGER_EITHER_EDGE</a>
196 <br />
197  }</td></tr>
198 <tr class="memdesc:ga0df966ec6b2ebedd7880a3efc75976cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">GPIO Event Trigger.  <a href="group__gpio__interface__gr.html#ga0df966ec6b2ebedd7880a3efc75976cd">More...</a><br /></td></tr>
199 <tr class="separator:ga0df966ec6b2ebedd7880a3efc75976cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
200 </table><table class="memberdecls">
201 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
202 Functions</h2></td></tr>
203 <tr class="memitem:ga10924781db8b42f1fc506bb83a6b7284"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#ga10924781db8b42f1fc506bb83a6b7284">ARM_GPIO_Setup</a> (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#gaf08560b02fd3c47a474eb9be26631640">ARM_GPIO_SignalEvent_t</a> cb_event)</td></tr>
204 <tr class="memdesc:ga10924781db8b42f1fc506bb83a6b7284"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup GPIO Interface.  <br /></td></tr>
205 <tr class="separator:ga10924781db8b42f1fc506bb83a6b7284"><td class="memSeparator" colspan="2">&#160;</td></tr>
206 <tr class="memitem:ga518a307a98aec9d227db18819851363a"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#ga518a307a98aec9d227db18819851363a">ARM_GPIO_SetDirection</a> (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#gadb33882caa9dc3a481d19ab16573dd4c">ARM_GPIO_DIRECTION</a> direction)</td></tr>
207 <tr class="memdesc:ga518a307a98aec9d227db18819851363a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set GPIO Direction.  <br /></td></tr>
208 <tr class="separator:ga518a307a98aec9d227db18819851363a"><td class="memSeparator" colspan="2">&#160;</td></tr>
209 <tr class="memitem:gab47e3266116c09442a3b3672a8224835"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#gab47e3266116c09442a3b3672a8224835">ARM_GPIO_SetOutputMode</a> (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#ga1fc02461f93fabddb49fd46513c7480b">ARM_GPIO_OUTPUT_MODE</a> mode)</td></tr>
210 <tr class="memdesc:gab47e3266116c09442a3b3672a8224835"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set GPIO Output Mode.  <br /></td></tr>
211 <tr class="separator:gab47e3266116c09442a3b3672a8224835"><td class="memSeparator" colspan="2">&#160;</td></tr>
212 <tr class="memitem:ga2c6ded4151e86ac0ee84d108fcfb661f"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#ga2c6ded4151e86ac0ee84d108fcfb661f">ARM_GPIO_SetPullResistor</a> (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#ga3e46add7954c3c9ba9617d630565c913">ARM_GPIO_PULL_RESISTOR</a> resistor)</td></tr>
213 <tr class="memdesc:ga2c6ded4151e86ac0ee84d108fcfb661f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set GPIO Pull Resistor.  <br /></td></tr>
214 <tr class="separator:ga2c6ded4151e86ac0ee84d108fcfb661f"><td class="memSeparator" colspan="2">&#160;</td></tr>
215 <tr class="memitem:ga03c0ab613fa56b461be82777feea1a6d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#ga03c0ab613fa56b461be82777feea1a6d">ARM_GPIO_SetEventTrigger</a> (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#ga0df966ec6b2ebedd7880a3efc75976cd">ARM_GPIO_EVENT_TRIGGER</a> trigger)</td></tr>
216 <tr class="memdesc:ga03c0ab613fa56b461be82777feea1a6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set GPIO Event Trigger.  <br /></td></tr>
217 <tr class="separator:ga03c0ab613fa56b461be82777feea1a6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
218 <tr class="memitem:gacdac385c2d5e420b95740749d3f428af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#gacdac385c2d5e420b95740749d3f428af">ARM_GPIO_SetOutput</a> (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, uint32_t val)</td></tr>
219 <tr class="memdesc:gacdac385c2d5e420b95740749d3f428af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set GPIO Output Level.  <br /></td></tr>
220 <tr class="separator:gacdac385c2d5e420b95740749d3f428af"><td class="memSeparator" colspan="2">&#160;</td></tr>
221 <tr class="memitem:ga6259ec39507a5a59a47ef935bd83e41c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#ga6259ec39507a5a59a47ef935bd83e41c">ARM_GPIO_GetInput</a> (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin)</td></tr>
222 <tr class="memdesc:ga6259ec39507a5a59a47ef935bd83e41c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get GPIO Input Level.  <br /></td></tr>
223 <tr class="separator:ga6259ec39507a5a59a47ef935bd83e41c"><td class="memSeparator" colspan="2">&#160;</td></tr>
224 <tr class="memitem:ga85dd1634405efb2eae2d3775ecdc6081"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#ga85dd1634405efb2eae2d3775ecdc6081">ARM_GPIO_SignalEvent</a> (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, uint32_t event)</td></tr>
225 <tr class="memdesc:ga85dd1634405efb2eae2d3775ecdc6081"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal GPIO Events.  <br /></td></tr>
226 <tr class="separator:ga85dd1634405efb2eae2d3775ecdc6081"><td class="memSeparator" colspan="2">&#160;</td></tr>
227 </table>
228 <a name="details" id="details"></a><h2 class="groupheader">Description</h2>
229 <p>Driver API for GPIO Interface (Driver_GPIO.h) </p>
230 <p>The <b>General-purpose Input/Output Interface</b> (GPIO) features Input/Output operations on pin level (does not support simultaneous operations on multiple pins belonging to the same port).</p>
231 <p>Features:</p><ul>
232 <li>basic pin configuration (direction, output mode, pull-resistor, event trigger) excluding advanced settings (drive strength or speed, input filter, ...),</li>
233 <li>events on edge detection,</li>
234 <li>setting outputs,</li>
235 <li>reading inputs.</li>
236 </ul>
237 <p>Each function operates on a pin level and uses a pin identification as the first parameter. Pin identification is a virtual number which is mapped to an actual pin.</p>
238 <p><b>GPIO API</b></p>
239 <p>The following header files define the Application Programming Interface (API) for the GPIO interface:</p><ul>
240 <li><b>Driver_GPIO.h</b> : Driver API for GPIO Interface</li>
241 </ul>
242 <p>The driver implementation is a typical part of the Device Family Pack (DFP) that supports the peripherals of the microcontroller family.</p>
243 <p><b>Driver Functions</b></p>
244 <p>The driver functions are published in the access struct as explained in <a class="el" href="theoryOperation.html#DriverFunctions">Common Driver Functions</a></p><ul>
245 <li><a class="el" href="group__gpio__interface__gr.html#structARM__DRIVER__GPIO">ARM_DRIVER_GPIO</a> : access struct for GPIO driver functions</li>
246 </ul>
247 <p><b>Example Code</b></p>
248 <p>The following example code shows the usage of the GPIO interface.</p>
249 <div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="Driver__GPIO_8h.html">Driver_GPIO.h</a>&quot;</span></div>
250 <div class="line"> </div>
251 <div class="line"><span class="comment">/* GPIO driver instance */</span></div>
252 <div class="line"><span class="keyword">extern</span> <a class="code hl_struct" href="group__gpio__interface__gr.html#structARM__DRIVER__GPIO">ARM_DRIVER_GPIO</a>             Driver_GPIO0;</div>
253 <div class="line"><span class="keyword">static</span> <a class="code hl_struct" href="group__gpio__interface__gr.html#structARM__DRIVER__GPIO">ARM_DRIVER_GPIO</a> *GPIOdrv = &amp;Driver_GPIO0;</div>
254 <div class="line"> </div>
255 <div class="line"><span class="comment">/* Pin mapping */</span></div>
256 <div class="line"><span class="preprocessor">#define GPIO_PIN0       0U</span></div>
257 <div class="line"><span class="preprocessor">#define GPIO_PIN1       1U</span></div>
258 <div class="line"><span class="preprocessor">#define GPIO_PIN2       2U</span></div>
259 <div class="line"><span class="preprocessor">#define GPIO_PIN3       3U</span></div>
260 <div class="line"> </div>
261 <div class="line"><span class="comment">/* GPIO Signal Event callback */</span></div>
262 <div class="line"><span class="keyword">static</span> <span class="keywordtype">void</span> GPIO_SignalEvent (<a class="code hl_typedef" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, uint32_t event) {</div>
263 <div class="line"> </div>
264 <div class="line">  <span class="keywordflow">switch</span> (pin) {</div>
265 <div class="line">    <span class="keywordflow">case</span> GPIO_PIN1:</div>
266 <div class="line">      <span class="comment">/* Events on pin GPIO_PIN1 */</span></div>
267 <div class="line">      <span class="keywordflow">if</span> (event &amp; <a class="code hl_define" href="group__GPIO__events.html#ga5b3eebcd265811423a9e3cfc86de7981">ARM_GPIO_EVENT_RISING_EDGE</a>) {</div>
268 <div class="line">        <span class="comment">/* Rising-edge detected */</span></div>
269 <div class="line">      }</div>
270 <div class="line">      <span class="keywordflow">if</span> (event &amp; <a class="code hl_define" href="group__GPIO__events.html#ga786063babcfbf55e38bb09e62e6b4e8e">ARM_GPIO_EVENT_FALLING_EDGE</a>) {</div>
271 <div class="line">        <span class="comment">/* Falling-edge detected */</span></div>
272 <div class="line">      }</div>
273 <div class="line">      <span class="keywordflow">break</span>;</div>
274 <div class="line">  }</div>
275 <div class="line">}</div>
276 <div class="line"> </div>
277 <div class="line"><span class="comment">/* Get GPIO Input 0 */</span></div>
278 <div class="line">uint32_t GPIO_GetInput0 (<span class="keywordtype">void</span>) {</div>
279 <div class="line">  <span class="keywordflow">return</span> (GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#abeffcbd4e00b34c08cd650605f4965d5">GetInput</a>(GPIO_PIN0));</div>
280 <div class="line">}</div>
281 <div class="line"> </div>
282 <div class="line"><span class="comment">/* Get GPIO Input 1 */</span></div>
283 <div class="line">uint32_t GPIO_GetInput1 (<span class="keywordtype">void</span>) {</div>
284 <div class="line">  <span class="keywordflow">return</span> (GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#abeffcbd4e00b34c08cd650605f4965d5">GetInput</a>(GPIO_PIN1));</div>
285 <div class="line">}</div>
286 <div class="line"> </div>
287 <div class="line"><span class="comment">/* Set GPIO Output Pin 2 */</span></div>
288 <div class="line"><span class="keywordtype">void</span> GPIO_SetOutput2 (uint32_t val) {</div>
289 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#ae3f787c2130ea5b9fd0246c08054e28a">SetOutput</a>(GPIO_PIN2, val);</div>
290 <div class="line">}</div>
291 <div class="line"> </div>
292 <div class="line"><span class="comment">/* Set GPIO Output Pin 3 */</span></div>
293 <div class="line"><span class="keywordtype">void</span> GPIO_SetOutput3 (uint32_t val) {</div>
294 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#ae3f787c2130ea5b9fd0246c08054e28a">SetOutput</a>(GPIO_PIN3, val);</div>
295 <div class="line">}</div>
296 <div class="line"> </div>
297 <div class="line"><span class="comment">/* Setup GPIO pins */</span></div>
298 <div class="line"><span class="keywordtype">void</span> GPIO_Setup (<span class="keywordtype">void</span>) {</div>
299 <div class="line"> </div>
300 <div class="line">  <span class="comment">/* Pin GPIO_PIN0: Input */</span></div>
301 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#a1752c368ad90bf9d0f520de9b94b726c">Setup</a>          (GPIO_PIN0, NULL);</div>
302 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#a357c46bfdc11484fd08daaf27255440f">SetDirection</a>   (GPIO_PIN0, <a class="code hl_enumvalue" href="Driver__GPIO_8h.html#gadb33882caa9dc3a481d19ab16573dd4ca58fb239e72a3f93e94f2efe71477bd18">ARM_GPIO_INPUT</a>);</div>
303 <div class="line"> </div>
304 <div class="line">  <span class="comment">/* Pin GPIO_PIN1: Input with trigger on rising and falling edge */</span></div>
305 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#a1752c368ad90bf9d0f520de9b94b726c">Setup</a>          (GPIO_PIN1, GPIO_SignalEvent);</div>
306 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#a357c46bfdc11484fd08daaf27255440f">SetDirection</a>   (GPIO_PIN1, <a class="code hl_enumvalue" href="Driver__GPIO_8h.html#gadb33882caa9dc3a481d19ab16573dd4ca58fb239e72a3f93e94f2efe71477bd18">ARM_GPIO_INPUT</a>);</div>
307 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#aa1e00b5d33fa1f09e96c7b8b1de1deec">SetEventTrigger</a>(GPIO_PIN1, <a class="code hl_enumvalue" href="Driver__GPIO_8h.html#ga0df966ec6b2ebedd7880a3efc75976cdaf08214415e90ef3b65e3438b1b523873">ARM_GPIO_TRIGGER_EITHER_EDGE</a>);</div>
308 <div class="line"> </div>
309 <div class="line">  <span class="comment">/* Pin GPIO_PIN2: Output push-pull (initial level 0) */</span></div>
310 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#a1752c368ad90bf9d0f520de9b94b726c">Setup</a>          (GPIO_PIN2, NULL);</div>
311 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#ae3f787c2130ea5b9fd0246c08054e28a">SetOutput</a>      (GPIO_PIN2, 0U);</div>
312 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#a357c46bfdc11484fd08daaf27255440f">SetDirection</a>   (GPIO_PIN2, <a class="code hl_enumvalue" href="Driver__GPIO_8h.html#gadb33882caa9dc3a481d19ab16573dd4cad4685767096d17e5acb6abf6c6495d06">ARM_GPIO_OUTPUT</a>);</div>
313 <div class="line"> </div>
314 <div class="line">  <span class="comment">/* Pin GPIO_PIN3: Output open-drain with pull-up resistor (initial level 1) */</span></div>
315 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#a1752c368ad90bf9d0f520de9b94b726c">Setup</a>          (GPIO_PIN3, NULL);</div>
316 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#a26beab12383d7ec6036da59fc1bb7251">SetPullResistor</a>(GPIO_PIN3, <a class="code hl_enumvalue" href="Driver__GPIO_8h.html#ga3e46add7954c3c9ba9617d630565c913a73c7ba703ce0cd40f77392bb28a4a188">ARM_GPIO_PULL_UP</a>);</div>
317 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#af5b45e3d2a2399ad693437a4e26ff119">SetOutputMode</a>  (GPIO_PIN3, <a class="code hl_enumvalue" href="Driver__GPIO_8h.html#ga1fc02461f93fabddb49fd46513c7480ba0a24a2221d2d9a31dff9a81e3b7e888f">ARM_GPIO_OPEN_DRAIN</a>);</div>
318 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#ae3f787c2130ea5b9fd0246c08054e28a">SetOutput</a>      (GPIO_PIN3, 1U);</div>
319 <div class="line">  GPIOdrv-&gt;<a class="code hl_variable" href="group__gpio__interface__gr.html#a357c46bfdc11484fd08daaf27255440f">SetDirection</a>   (GPIO_PIN3, <a class="code hl_enumvalue" href="Driver__GPIO_8h.html#gadb33882caa9dc3a481d19ab16573dd4cad4685767096d17e5acb6abf6c6495d06">ARM_GPIO_OUTPUT</a>);</div>
320 <div class="line">}</div>
321 <div class="ttc" id="aDriver__GPIO_8h_html"><div class="ttname"><a href="Driver__GPIO_8h.html">Driver_GPIO.h</a></div></div>
322 <div class="ttc" id="aDriver__GPIO_8h_html_aa610a72c0924a56973780d7d1d4e538a"><div class="ttname"><a href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a></div><div class="ttdeci">uint32_t ARM_GPIO_Pin_t</div><div class="ttdoc">GPIO Pin.</div><div class="ttdef"><b>Definition:</b> Driver_GPIO.h:38</div></div>
323 <div class="ttc" id="aDriver__GPIO_8h_html_ga0df966ec6b2ebedd7880a3efc75976cdaf08214415e90ef3b65e3438b1b523873"><div class="ttname"><a href="Driver__GPIO_8h.html#ga0df966ec6b2ebedd7880a3efc75976cdaf08214415e90ef3b65e3438b1b523873">ARM_GPIO_TRIGGER_EITHER_EDGE</a></div><div class="ttdeci">@ ARM_GPIO_TRIGGER_EITHER_EDGE</div><div class="ttdoc">Either edge (rising and falling)</div><div class="ttdef"><b>Definition:</b> Driver_GPIO.h:72</div></div>
324 <div class="ttc" id="aDriver__GPIO_8h_html_ga1fc02461f93fabddb49fd46513c7480ba0a24a2221d2d9a31dff9a81e3b7e888f"><div class="ttname"><a href="Driver__GPIO_8h.html#ga1fc02461f93fabddb49fd46513c7480ba0a24a2221d2d9a31dff9a81e3b7e888f">ARM_GPIO_OPEN_DRAIN</a></div><div class="ttdeci">@ ARM_GPIO_OPEN_DRAIN</div><div class="ttdoc">Open-drain.</div><div class="ttdef"><b>Definition:</b> Driver_GPIO.h:53</div></div>
325 <div class="ttc" id="aDriver__GPIO_8h_html_ga3e46add7954c3c9ba9617d630565c913a73c7ba703ce0cd40f77392bb28a4a188"><div class="ttname"><a href="Driver__GPIO_8h.html#ga3e46add7954c3c9ba9617d630565c913a73c7ba703ce0cd40f77392bb28a4a188">ARM_GPIO_PULL_UP</a></div><div class="ttdeci">@ ARM_GPIO_PULL_UP</div><div class="ttdoc">Pull-up.</div><div class="ttdef"><b>Definition:</b> Driver_GPIO.h:61</div></div>
326 <div class="ttc" id="aDriver__GPIO_8h_html_gadb33882caa9dc3a481d19ab16573dd4ca58fb239e72a3f93e94f2efe71477bd18"><div class="ttname"><a href="Driver__GPIO_8h.html#gadb33882caa9dc3a481d19ab16573dd4ca58fb239e72a3f93e94f2efe71477bd18">ARM_GPIO_INPUT</a></div><div class="ttdeci">@ ARM_GPIO_INPUT</div><div class="ttdoc">Input (default)</div><div class="ttdef"><b>Definition:</b> Driver_GPIO.h:44</div></div>
327 <div class="ttc" id="aDriver__GPIO_8h_html_gadb33882caa9dc3a481d19ab16573dd4cad4685767096d17e5acb6abf6c6495d06"><div class="ttname"><a href="Driver__GPIO_8h.html#gadb33882caa9dc3a481d19ab16573dd4cad4685767096d17e5acb6abf6c6495d06">ARM_GPIO_OUTPUT</a></div><div class="ttdeci">@ ARM_GPIO_OUTPUT</div><div class="ttdoc">Output.</div><div class="ttdef"><b>Definition:</b> Driver_GPIO.h:45</div></div>
328 <div class="ttc" id="agroup__GPIO__events_html_ga5b3eebcd265811423a9e3cfc86de7981"><div class="ttname"><a href="group__GPIO__events.html#ga5b3eebcd265811423a9e3cfc86de7981">ARM_GPIO_EVENT_RISING_EDGE</a></div><div class="ttdeci">#define ARM_GPIO_EVENT_RISING_EDGE</div><div class="ttdoc">Rising-edge detected.</div></div>
329 <div class="ttc" id="agroup__GPIO__events_html_ga786063babcfbf55e38bb09e62e6b4e8e"><div class="ttname"><a href="group__GPIO__events.html#ga786063babcfbf55e38bb09e62e6b4e8e">ARM_GPIO_EVENT_FALLING_EDGE</a></div><div class="ttdeci">#define ARM_GPIO_EVENT_FALLING_EDGE</div><div class="ttdoc">Falling-edge detected.</div></div>
330 <div class="ttc" id="agroup__gpio__interface__gr_html_a1752c368ad90bf9d0f520de9b94b726c"><div class="ttname"><a href="group__gpio__interface__gr.html#a1752c368ad90bf9d0f520de9b94b726c">ARM_DRIVER_GPIO::Setup</a></div><div class="ttdeci">int32_t(* Setup)(ARM_GPIO_Pin_t pin, ARM_GPIO_SignalEvent_t cb_event)</div><div class="ttdoc">Pointer to ARM_GPIO_Setup : Setup GPIO Interface.</div><div class="ttdef"><b>Definition:</b> Driver_GPIO.h:141</div></div>
331 <div class="ttc" id="agroup__gpio__interface__gr_html_a26beab12383d7ec6036da59fc1bb7251"><div class="ttname"><a href="group__gpio__interface__gr.html#a26beab12383d7ec6036da59fc1bb7251">ARM_DRIVER_GPIO::SetPullResistor</a></div><div class="ttdeci">int32_t(* SetPullResistor)(ARM_GPIO_Pin_t pin, ARM_GPIO_PULL_RESISTOR resistor)</div><div class="ttdoc">Pointer to ARM_GPIO_SetPullResistor : Set GPIO Pull Resistor.</div><div class="ttdef"><b>Definition:</b> Driver_GPIO.h:144</div></div>
332 <div class="ttc" id="agroup__gpio__interface__gr_html_a357c46bfdc11484fd08daaf27255440f"><div class="ttname"><a href="group__gpio__interface__gr.html#a357c46bfdc11484fd08daaf27255440f">ARM_DRIVER_GPIO::SetDirection</a></div><div class="ttdeci">int32_t(* SetDirection)(ARM_GPIO_Pin_t pin, ARM_GPIO_DIRECTION direction)</div><div class="ttdoc">Pointer to ARM_GPIO_SetDirection : Set GPIO Direction.</div><div class="ttdef"><b>Definition:</b> Driver_GPIO.h:142</div></div>
333 <div class="ttc" id="agroup__gpio__interface__gr_html_aa1e00b5d33fa1f09e96c7b8b1de1deec"><div class="ttname"><a href="group__gpio__interface__gr.html#aa1e00b5d33fa1f09e96c7b8b1de1deec">ARM_DRIVER_GPIO::SetEventTrigger</a></div><div class="ttdeci">int32_t(* SetEventTrigger)(ARM_GPIO_Pin_t pin, ARM_GPIO_EVENT_TRIGGER trigger)</div><div class="ttdoc">Pointer to ARM_GPIO_SetEventTrigger : Set GPIO Event Trigger.</div><div class="ttdef"><b>Definition:</b> Driver_GPIO.h:145</div></div>
334 <div class="ttc" id="agroup__gpio__interface__gr_html_abeffcbd4e00b34c08cd650605f4965d5"><div class="ttname"><a href="group__gpio__interface__gr.html#abeffcbd4e00b34c08cd650605f4965d5">ARM_DRIVER_GPIO::GetInput</a></div><div class="ttdeci">uint32_t(* GetInput)(ARM_GPIO_Pin_t pin)</div><div class="ttdoc">Pointer to ARM_GPIO_GetInput : Get GPIO Input Level.</div><div class="ttdef"><b>Definition:</b> Driver_GPIO.h:147</div></div>
335 <div class="ttc" id="agroup__gpio__interface__gr_html_ae3f787c2130ea5b9fd0246c08054e28a"><div class="ttname"><a href="group__gpio__interface__gr.html#ae3f787c2130ea5b9fd0246c08054e28a">ARM_DRIVER_GPIO::SetOutput</a></div><div class="ttdeci">void(* SetOutput)(ARM_GPIO_Pin_t pin, uint32_t val)</div><div class="ttdoc">Pointer to ARM_GPIO_SetOutput : Set GPIO Output Level.</div><div class="ttdef"><b>Definition:</b> Driver_GPIO.h:146</div></div>
336 <div class="ttc" id="agroup__gpio__interface__gr_html_af5b45e3d2a2399ad693437a4e26ff119"><div class="ttname"><a href="group__gpio__interface__gr.html#af5b45e3d2a2399ad693437a4e26ff119">ARM_DRIVER_GPIO::SetOutputMode</a></div><div class="ttdeci">int32_t(* SetOutputMode)(ARM_GPIO_Pin_t pin, ARM_GPIO_OUTPUT_MODE mode)</div><div class="ttdoc">Pointer to ARM_GPIO_SetOutputMode : Set GPIO Output Mode.</div><div class="ttdef"><b>Definition:</b> Driver_GPIO.h:143</div></div>
337 <div class="ttc" id="agroup__gpio__interface__gr_html_structARM__DRIVER__GPIO"><div class="ttname"><a href="group__gpio__interface__gr.html#structARM__DRIVER__GPIO">ARM_DRIVER_GPIO</a></div><div class="ttdoc">Access structure of the GPIO Driver.</div><div class="ttdef"><b>Definition:</b> Driver_GPIO.h:140</div></div>
338 </div><!-- fragment --> <hr/><h2 class="groupheader">Data Structure Documentation</h2>
339 <a name="structARM__DRIVER__GPIO" id="structARM__DRIVER__GPIO"></a>
340 <h2 class="memtitle"><span class="permalink"><a href="#structARM__DRIVER__GPIO">&#9670;&#160;</a></span>ARM_DRIVER_GPIO</h2>
341
342 <div class="memitem">
343 <div class="memproto">
344       <table class="memname">
345         <tr>
346           <td class="memname">struct ARM_DRIVER_GPIO</td>
347         </tr>
348       </table>
349 </div><div class="memdoc">
350 <div class="textblock"><p>Access structure of the GPIO Driver. </p>
351 <p>The functions of the GPIO driver are accessed by function pointers exposed by this structure. Refer to <a class="el" href="theoryOperation.html#DriverFunctions">Common Driver Functions</a> for overview information.</p>
352 <p>Each instance of a GPIO interface provides such an access structure. The instance is identified by a postfix number in the symbol name of the access structure, for example:</p><ul>
353 <li><b>Driver_GPIO0</b> is the name of the access struct of the first instance (no. 0).</li>
354 <li><b>Driver_GPIO1</b> is the name of the access struct of the second instance (no. 1).</li>
355 </ul>
356 <p>A middleware configuration setting allows connecting the middleware to a specific driver instance <b>Driver_GPIO<em>n</em></b>. The default is <span class="XML-Token">0</span>, which connects a middleware to the first instance of a driver. </p>
357 </div><table class="memberdecls">
358 <tr><td colspan="2"><h3>Data Fields</h3></td></tr>
359 <tr class="memitem:a1752c368ad90bf9d0f520de9b94b726c"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#a1752c368ad90bf9d0f520de9b94b726c">Setup</a> )(<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#gaf08560b02fd3c47a474eb9be26631640">ARM_GPIO_SignalEvent_t</a> cb_event)</td></tr>
360 <tr class="memdesc:a1752c368ad90bf9d0f520de9b94b726c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to <a class="el" href="group__gpio__interface__gr.html#ga10924781db8b42f1fc506bb83a6b7284">ARM_GPIO_Setup</a> : Setup GPIO Interface.  <br /></td></tr>
361 <tr class="separator:a1752c368ad90bf9d0f520de9b94b726c"><td class="memSeparator" colspan="2">&#160;</td></tr>
362 <tr class="memitem:a357c46bfdc11484fd08daaf27255440f"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#a357c46bfdc11484fd08daaf27255440f">SetDirection</a> )(<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#gadb33882caa9dc3a481d19ab16573dd4c">ARM_GPIO_DIRECTION</a> direction)</td></tr>
363 <tr class="memdesc:a357c46bfdc11484fd08daaf27255440f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to <a class="el" href="group__gpio__interface__gr.html#ga518a307a98aec9d227db18819851363a">ARM_GPIO_SetDirection</a> : Set GPIO Direction.  <br /></td></tr>
364 <tr class="separator:a357c46bfdc11484fd08daaf27255440f"><td class="memSeparator" colspan="2">&#160;</td></tr>
365 <tr class="memitem:af5b45e3d2a2399ad693437a4e26ff119"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#af5b45e3d2a2399ad693437a4e26ff119">SetOutputMode</a> )(<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#ga1fc02461f93fabddb49fd46513c7480b">ARM_GPIO_OUTPUT_MODE</a> mode)</td></tr>
366 <tr class="memdesc:af5b45e3d2a2399ad693437a4e26ff119"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to <a class="el" href="group__gpio__interface__gr.html#gab47e3266116c09442a3b3672a8224835">ARM_GPIO_SetOutputMode</a> : Set GPIO Output Mode.  <br /></td></tr>
367 <tr class="separator:af5b45e3d2a2399ad693437a4e26ff119"><td class="memSeparator" colspan="2">&#160;</td></tr>
368 <tr class="memitem:a26beab12383d7ec6036da59fc1bb7251"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#a26beab12383d7ec6036da59fc1bb7251">SetPullResistor</a> )(<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#ga3e46add7954c3c9ba9617d630565c913">ARM_GPIO_PULL_RESISTOR</a> resistor)</td></tr>
369 <tr class="memdesc:a26beab12383d7ec6036da59fc1bb7251"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to <a class="el" href="group__gpio__interface__gr.html#ga2c6ded4151e86ac0ee84d108fcfb661f">ARM_GPIO_SetPullResistor</a> : Set GPIO Pull Resistor.  <br /></td></tr>
370 <tr class="separator:a26beab12383d7ec6036da59fc1bb7251"><td class="memSeparator" colspan="2">&#160;</td></tr>
371 <tr class="memitem:aa1e00b5d33fa1f09e96c7b8b1de1deec"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#aa1e00b5d33fa1f09e96c7b8b1de1deec">SetEventTrigger</a> )(<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#ga0df966ec6b2ebedd7880a3efc75976cd">ARM_GPIO_EVENT_TRIGGER</a> trigger)</td></tr>
372 <tr class="memdesc:aa1e00b5d33fa1f09e96c7b8b1de1deec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to <a class="el" href="group__gpio__interface__gr.html#ga03c0ab613fa56b461be82777feea1a6d">ARM_GPIO_SetEventTrigger</a> : Set GPIO Event Trigger.  <br /></td></tr>
373 <tr class="separator:aa1e00b5d33fa1f09e96c7b8b1de1deec"><td class="memSeparator" colspan="2">&#160;</td></tr>
374 <tr class="memitem:ae3f787c2130ea5b9fd0246c08054e28a"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#ae3f787c2130ea5b9fd0246c08054e28a">SetOutput</a> )(<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, uint32_t val)</td></tr>
375 <tr class="memdesc:ae3f787c2130ea5b9fd0246c08054e28a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to <a class="el" href="group__gpio__interface__gr.html#gacdac385c2d5e420b95740749d3f428af">ARM_GPIO_SetOutput</a> : Set GPIO Output Level.  <br /></td></tr>
376 <tr class="separator:ae3f787c2130ea5b9fd0246c08054e28a"><td class="memSeparator" colspan="2">&#160;</td></tr>
377 <tr class="memitem:abeffcbd4e00b34c08cd650605f4965d5"><td class="memItemLeft" align="right" valign="top">uint32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gpio__interface__gr.html#abeffcbd4e00b34c08cd650605f4965d5">GetInput</a> )(<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin)</td></tr>
378 <tr class="memdesc:abeffcbd4e00b34c08cd650605f4965d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to <a class="el" href="group__gpio__interface__gr.html#ga6259ec39507a5a59a47ef935bd83e41c">ARM_GPIO_GetInput</a> : Get GPIO Input Level.  <br /></td></tr>
379 <tr class="separator:abeffcbd4e00b34c08cd650605f4965d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
380 </table>
381 <h4 class="groupheader">Field Documentation</h4>
382 <a id="a1752c368ad90bf9d0f520de9b94b726c" name="a1752c368ad90bf9d0f520de9b94b726c"></a>
383 <h2 class="memtitle"><span class="permalink"><a href="#a1752c368ad90bf9d0f520de9b94b726c">&#9670;&#160;</a></span>Setup</h2>
384
385 <div class="memitem">
386 <div class="memproto">
387       <table class="memname">
388         <tr>
389           <td class="memname">int32_t(* Setup) (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#gaf08560b02fd3c47a474eb9be26631640">ARM_GPIO_SignalEvent_t</a> cb_event)</td>
390         </tr>
391       </table>
392 </div><div class="memdoc">
393
394 <p>Pointer to <a class="el" href="group__gpio__interface__gr.html#ga10924781db8b42f1fc506bb83a6b7284">ARM_GPIO_Setup</a> : Setup GPIO Interface. </p>
395
396 </div>
397 </div>
398 <a id="a357c46bfdc11484fd08daaf27255440f" name="a357c46bfdc11484fd08daaf27255440f"></a>
399 <h2 class="memtitle"><span class="permalink"><a href="#a357c46bfdc11484fd08daaf27255440f">&#9670;&#160;</a></span>SetDirection</h2>
400
401 <div class="memitem">
402 <div class="memproto">
403       <table class="memname">
404         <tr>
405           <td class="memname">int32_t(* SetDirection) (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#gadb33882caa9dc3a481d19ab16573dd4c">ARM_GPIO_DIRECTION</a> direction)</td>
406         </tr>
407       </table>
408 </div><div class="memdoc">
409
410 <p>Pointer to <a class="el" href="group__gpio__interface__gr.html#ga518a307a98aec9d227db18819851363a">ARM_GPIO_SetDirection</a> : Set GPIO Direction. </p>
411
412 </div>
413 </div>
414 <a id="af5b45e3d2a2399ad693437a4e26ff119" name="af5b45e3d2a2399ad693437a4e26ff119"></a>
415 <h2 class="memtitle"><span class="permalink"><a href="#af5b45e3d2a2399ad693437a4e26ff119">&#9670;&#160;</a></span>SetOutputMode</h2>
416
417 <div class="memitem">
418 <div class="memproto">
419       <table class="memname">
420         <tr>
421           <td class="memname">int32_t(* SetOutputMode) (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#ga1fc02461f93fabddb49fd46513c7480b">ARM_GPIO_OUTPUT_MODE</a> mode)</td>
422         </tr>
423       </table>
424 </div><div class="memdoc">
425
426 <p>Pointer to <a class="el" href="group__gpio__interface__gr.html#gab47e3266116c09442a3b3672a8224835">ARM_GPIO_SetOutputMode</a> : Set GPIO Output Mode. </p>
427
428 </div>
429 </div>
430 <a id="a26beab12383d7ec6036da59fc1bb7251" name="a26beab12383d7ec6036da59fc1bb7251"></a>
431 <h2 class="memtitle"><span class="permalink"><a href="#a26beab12383d7ec6036da59fc1bb7251">&#9670;&#160;</a></span>SetPullResistor</h2>
432
433 <div class="memitem">
434 <div class="memproto">
435       <table class="memname">
436         <tr>
437           <td class="memname">int32_t(* SetPullResistor) (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#ga3e46add7954c3c9ba9617d630565c913">ARM_GPIO_PULL_RESISTOR</a> resistor)</td>
438         </tr>
439       </table>
440 </div><div class="memdoc">
441
442 <p>Pointer to <a class="el" href="group__gpio__interface__gr.html#ga2c6ded4151e86ac0ee84d108fcfb661f">ARM_GPIO_SetPullResistor</a> : Set GPIO Pull Resistor. </p>
443
444 </div>
445 </div>
446 <a id="aa1e00b5d33fa1f09e96c7b8b1de1deec" name="aa1e00b5d33fa1f09e96c7b8b1de1deec"></a>
447 <h2 class="memtitle"><span class="permalink"><a href="#aa1e00b5d33fa1f09e96c7b8b1de1deec">&#9670;&#160;</a></span>SetEventTrigger</h2>
448
449 <div class="memitem">
450 <div class="memproto">
451       <table class="memname">
452         <tr>
453           <td class="memname">int32_t(* SetEventTrigger) (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, <a class="el" href="group__gpio__interface__gr.html#ga0df966ec6b2ebedd7880a3efc75976cd">ARM_GPIO_EVENT_TRIGGER</a> trigger)</td>
454         </tr>
455       </table>
456 </div><div class="memdoc">
457
458 <p>Pointer to <a class="el" href="group__gpio__interface__gr.html#ga03c0ab613fa56b461be82777feea1a6d">ARM_GPIO_SetEventTrigger</a> : Set GPIO Event Trigger. </p>
459
460 </div>
461 </div>
462 <a id="ae3f787c2130ea5b9fd0246c08054e28a" name="ae3f787c2130ea5b9fd0246c08054e28a"></a>
463 <h2 class="memtitle"><span class="permalink"><a href="#ae3f787c2130ea5b9fd0246c08054e28a">&#9670;&#160;</a></span>SetOutput</h2>
464
465 <div class="memitem">
466 <div class="memproto">
467       <table class="memname">
468         <tr>
469           <td class="memname">void(* SetOutput) (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin, uint32_t val)</td>
470         </tr>
471       </table>
472 </div><div class="memdoc">
473
474 <p>Pointer to <a class="el" href="group__gpio__interface__gr.html#gacdac385c2d5e420b95740749d3f428af">ARM_GPIO_SetOutput</a> : Set GPIO Output Level. </p>
475
476 </div>
477 </div>
478 <a id="abeffcbd4e00b34c08cd650605f4965d5" name="abeffcbd4e00b34c08cd650605f4965d5"></a>
479 <h2 class="memtitle"><span class="permalink"><a href="#abeffcbd4e00b34c08cd650605f4965d5">&#9670;&#160;</a></span>GetInput</h2>
480
481 <div class="memitem">
482 <div class="memproto">
483       <table class="memname">
484         <tr>
485           <td class="memname">uint32_t(* GetInput) (<a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a> pin)</td>
486         </tr>
487       </table>
488 </div><div class="memdoc">
489
490 <p>Pointer to <a class="el" href="group__gpio__interface__gr.html#ga6259ec39507a5a59a47ef935bd83e41c">ARM_GPIO_GetInput</a> : Get GPIO Input Level. </p>
491
492 </div>
493 </div>
494
495 </div>
496 </div>
497 <h2 class="groupheader">Typedef Documentation</h2>
498 <a id="gaf08560b02fd3c47a474eb9be26631640" name="gaf08560b02fd3c47a474eb9be26631640"></a>
499 <h2 class="memtitle"><span class="permalink"><a href="#gaf08560b02fd3c47a474eb9be26631640">&#9670;&#160;</a></span>ARM_GPIO_SignalEvent_t</h2>
500
501 <div class="memitem">
502 <div class="memproto">
503       <table class="memname">
504         <tr>
505           <td class="memname">ARM_GPIO_SignalEvent_t</td>
506         </tr>
507       </table>
508 </div><div class="memdoc">
509 <p>Provides the typedef for the callback function <a class="el" href="group__gpio__interface__gr.html#ga85dd1634405efb2eae2d3775ecdc6081">ARM_GPIO_SignalEvent</a>.</p>
510 <p><b>Parameter for:</b></p><ul>
511 <li><a class="el" href="group__gpio__interface__gr.html#ga10924781db8b42f1fc506bb83a6b7284">ARM_GPIO_Setup</a> </li>
512 </ul>
513
514 </div>
515 </div>
516 <h2 class="groupheader">Enumeration Type Documentation</h2>
517 <a id="gadb33882caa9dc3a481d19ab16573dd4c" name="gadb33882caa9dc3a481d19ab16573dd4c"></a>
518 <h2 class="memtitle"><span class="permalink"><a href="#gadb33882caa9dc3a481d19ab16573dd4c">&#9670;&#160;</a></span>ARM_GPIO_DIRECTION</h2>
519
520 <div class="memitem">
521 <div class="memproto">
522       <table class="memname">
523         <tr>
524           <td class="memname">enum <a class="el" href="group__gpio__interface__gr.html#gadb33882caa9dc3a481d19ab16573dd4c">ARM_GPIO_DIRECTION</a></td>
525         </tr>
526       </table>
527 </div><div class="memdoc">
528
529 <p>GPIO Direction. </p>
530 <p>Specifies values for setting the direction.</p>
531 <p><b>Parameter for:</b></p><ul>
532 <li><a class="el" href="group__gpio__interface__gr.html#ga518a307a98aec9d227db18819851363a">ARM_GPIO_SetDirection</a> </li>
533 </ul>
534 <table class="fieldtable">
535 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gadb33882caa9dc3a481d19ab16573dd4ca58fb239e72a3f93e94f2efe71477bd18" name="gadb33882caa9dc3a481d19ab16573dd4ca58fb239e72a3f93e94f2efe71477bd18"></a>ARM_GPIO_INPUT&#160;</td><td class="fielddoc"><p>Input (default) </p>
536 </td></tr>
537 <tr><td class="fieldname"><a id="gadb33882caa9dc3a481d19ab16573dd4cad4685767096d17e5acb6abf6c6495d06" name="gadb33882caa9dc3a481d19ab16573dd4cad4685767096d17e5acb6abf6c6495d06"></a>ARM_GPIO_OUTPUT&#160;</td><td class="fielddoc"><p>Output. </p>
538 </td></tr>
539 </table>
540
541 </div>
542 </div>
543 <a id="ga1fc02461f93fabddb49fd46513c7480b" name="ga1fc02461f93fabddb49fd46513c7480b"></a>
544 <h2 class="memtitle"><span class="permalink"><a href="#ga1fc02461f93fabddb49fd46513c7480b">&#9670;&#160;</a></span>ARM_GPIO_OUTPUT_MODE</h2>
545
546 <div class="memitem">
547 <div class="memproto">
548       <table class="memname">
549         <tr>
550           <td class="memname">enum <a class="el" href="group__gpio__interface__gr.html#ga1fc02461f93fabddb49fd46513c7480b">ARM_GPIO_OUTPUT_MODE</a></td>
551         </tr>
552       </table>
553 </div><div class="memdoc">
554
555 <p>GPIO Output Mode. </p>
556 <p>Specifies values for setting the output mode.</p>
557 <p><b>Parameter for:</b></p><ul>
558 <li><a class="el" href="group__gpio__interface__gr.html#gab47e3266116c09442a3b3672a8224835">ARM_GPIO_SetOutputMode</a> </li>
559 </ul>
560 <table class="fieldtable">
561 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ga1fc02461f93fabddb49fd46513c7480bac4b9f2ea6c849cf47d9ed2cf7ccf7a93" name="ga1fc02461f93fabddb49fd46513c7480bac4b9f2ea6c849cf47d9ed2cf7ccf7a93"></a>ARM_GPIO_PUSH_PULL&#160;</td><td class="fielddoc"><p>Push-pull (default) </p>
562 </td></tr>
563 <tr><td class="fieldname"><a id="ga1fc02461f93fabddb49fd46513c7480ba0a24a2221d2d9a31dff9a81e3b7e888f" name="ga1fc02461f93fabddb49fd46513c7480ba0a24a2221d2d9a31dff9a81e3b7e888f"></a>ARM_GPIO_OPEN_DRAIN&#160;</td><td class="fielddoc"><p>Open-drain. </p>
564 </td></tr>
565 </table>
566
567 </div>
568 </div>
569 <a id="ga3e46add7954c3c9ba9617d630565c913" name="ga3e46add7954c3c9ba9617d630565c913"></a>
570 <h2 class="memtitle"><span class="permalink"><a href="#ga3e46add7954c3c9ba9617d630565c913">&#9670;&#160;</a></span>ARM_GPIO_PULL_RESISTOR</h2>
571
572 <div class="memitem">
573 <div class="memproto">
574       <table class="memname">
575         <tr>
576           <td class="memname">enum <a class="el" href="group__gpio__interface__gr.html#ga3e46add7954c3c9ba9617d630565c913">ARM_GPIO_PULL_RESISTOR</a></td>
577         </tr>
578       </table>
579 </div><div class="memdoc">
580
581 <p>GPIO Pull Resistor. </p>
582 <p>Specifies values for setting the pull resistor.</p>
583 <p><b>Parameter for:</b></p><ul>
584 <li><a class="el" href="group__gpio__interface__gr.html#ga2c6ded4151e86ac0ee84d108fcfb661f">ARM_GPIO_SetPullResistor</a> </li>
585 </ul>
586 <table class="fieldtable">
587 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ga3e46add7954c3c9ba9617d630565c913a187a7bb55ed81726845c8c194f28d49c" name="ga3e46add7954c3c9ba9617d630565c913a187a7bb55ed81726845c8c194f28d49c"></a>ARM_GPIO_PULL_NONE&#160;</td><td class="fielddoc"><p>None (default) </p>
588 </td></tr>
589 <tr><td class="fieldname"><a id="ga3e46add7954c3c9ba9617d630565c913a73c7ba703ce0cd40f77392bb28a4a188" name="ga3e46add7954c3c9ba9617d630565c913a73c7ba703ce0cd40f77392bb28a4a188"></a>ARM_GPIO_PULL_UP&#160;</td><td class="fielddoc"><p>Pull-up. </p>
590 </td></tr>
591 <tr><td class="fieldname"><a id="ga3e46add7954c3c9ba9617d630565c913a4fc8779c762a502dd029b7a676cc022b" name="ga3e46add7954c3c9ba9617d630565c913a4fc8779c762a502dd029b7a676cc022b"></a>ARM_GPIO_PULL_DOWN&#160;</td><td class="fielddoc"><p>Pull-down. </p>
592 </td></tr>
593 </table>
594
595 </div>
596 </div>
597 <a id="ga0df966ec6b2ebedd7880a3efc75976cd" name="ga0df966ec6b2ebedd7880a3efc75976cd"></a>
598 <h2 class="memtitle"><span class="permalink"><a href="#ga0df966ec6b2ebedd7880a3efc75976cd">&#9670;&#160;</a></span>ARM_GPIO_EVENT_TRIGGER</h2>
599
600 <div class="memitem">
601 <div class="memproto">
602       <table class="memname">
603         <tr>
604           <td class="memname">enum <a class="el" href="group__gpio__interface__gr.html#ga0df966ec6b2ebedd7880a3efc75976cd">ARM_GPIO_EVENT_TRIGGER</a></td>
605         </tr>
606       </table>
607 </div><div class="memdoc">
608
609 <p>GPIO Event Trigger. </p>
610 <p>Specifies values for setting the event trigger.</p>
611 <p><b>Parameter for:</b></p><ul>
612 <li><a class="el" href="group__gpio__interface__gr.html#ga03c0ab613fa56b461be82777feea1a6d">ARM_GPIO_SetEventTrigger</a> </li>
613 </ul>
614 <table class="fieldtable">
615 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ga0df966ec6b2ebedd7880a3efc75976cda93171249f006c83b7661df73d976556d" name="ga0df966ec6b2ebedd7880a3efc75976cda93171249f006c83b7661df73d976556d"></a>ARM_GPIO_TRIGGER_NONE&#160;</td><td class="fielddoc"><p>None (default) </p>
616 </td></tr>
617 <tr><td class="fieldname"><a id="ga0df966ec6b2ebedd7880a3efc75976cdaba20b1e31878cce514240db48ff72936" name="ga0df966ec6b2ebedd7880a3efc75976cdaba20b1e31878cce514240db48ff72936"></a>ARM_GPIO_TRIGGER_RISING_EDGE&#160;</td><td class="fielddoc"><p>Rising-edge. </p>
618 </td></tr>
619 <tr><td class="fieldname"><a id="ga0df966ec6b2ebedd7880a3efc75976cdafa65dc9f0e518b4d640e69e194ffd847" name="ga0df966ec6b2ebedd7880a3efc75976cdafa65dc9f0e518b4d640e69e194ffd847"></a>ARM_GPIO_TRIGGER_FALLING_EDGE&#160;</td><td class="fielddoc"><p>Falling-edge. </p>
620 </td></tr>
621 <tr><td class="fieldname"><a id="ga0df966ec6b2ebedd7880a3efc75976cdaf08214415e90ef3b65e3438b1b523873" name="ga0df966ec6b2ebedd7880a3efc75976cdaf08214415e90ef3b65e3438b1b523873"></a>ARM_GPIO_TRIGGER_EITHER_EDGE&#160;</td><td class="fielddoc"><p>Either edge (rising and falling) </p>
622 </td></tr>
623 </table>
624
625 </div>
626 </div>
627 <h2 class="groupheader">Function Documentation</h2>
628 <a id="ga10924781db8b42f1fc506bb83a6b7284" name="ga10924781db8b42f1fc506bb83a6b7284"></a>
629 <h2 class="memtitle"><span class="permalink"><a href="#ga10924781db8b42f1fc506bb83a6b7284">&#9670;&#160;</a></span>ARM_GPIO_Setup()</h2>
630
631 <div class="memitem">
632 <div class="memproto">
633       <table class="memname">
634         <tr>
635           <td class="memname">int32_t ARM_GPIO_Setup </td>
636           <td>(</td>
637           <td class="paramtype"><a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a>&#160;</td>
638           <td class="paramname"><em>pin</em>, </td>
639         </tr>
640         <tr>
641           <td class="paramkey"></td>
642           <td></td>
643           <td class="paramtype"><a class="el" href="group__gpio__interface__gr.html#gaf08560b02fd3c47a474eb9be26631640">ARM_GPIO_SignalEvent_t</a>&#160;</td>
644           <td class="paramname"><em>cb_event</em>&#160;</td>
645         </tr>
646         <tr>
647           <td></td>
648           <td>)</td>
649           <td></td><td></td>
650         </tr>
651       </table>
652 </div><div class="memdoc">
653
654 <p>Setup GPIO Interface. </p>
655 <dl class="params"><dt>Parameters</dt><dd>
656   <table class="params">
657     <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO Pin </td></tr>
658     <tr><td class="paramdir">[in]</td><td class="paramname">cb_event</td><td>Pointer to <a class="el" href="group__gpio__interface__gr.html#ga85dd1634405efb2eae2d3775ecdc6081">ARM_GPIO_SignalEvent</a> </td></tr>
659   </table>
660   </dd>
661 </dl>
662 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__execution__status.html">Status Error Codes</a></dd></dl>
663 <p>The function <b>ARM_GPIO_Setup</b> sets-up the specified <em>pin</em> as GPIO with default configuration. Pin is configured as input without pull-resistor and without event trigger.</p>
664 <p>The parameter <em>cb_event</em> specifies a pointer to the <a class="el" href="group__gpio__interface__gr.html#ga85dd1634405efb2eae2d3775ecdc6081">ARM_GPIO_SignalEvent</a> callback function to register. Use a NULL pointer when no callback events are required or to deregister a callback function. </p>
665
666 </div>
667 </div>
668 <a id="ga518a307a98aec9d227db18819851363a" name="ga518a307a98aec9d227db18819851363a"></a>
669 <h2 class="memtitle"><span class="permalink"><a href="#ga518a307a98aec9d227db18819851363a">&#9670;&#160;</a></span>ARM_GPIO_SetDirection()</h2>
670
671 <div class="memitem">
672 <div class="memproto">
673       <table class="memname">
674         <tr>
675           <td class="memname">int32_t ARM_GPIO_SetDirection </td>
676           <td>(</td>
677           <td class="paramtype"><a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a>&#160;</td>
678           <td class="paramname"><em>pin</em>, </td>
679         </tr>
680         <tr>
681           <td class="paramkey"></td>
682           <td></td>
683           <td class="paramtype"><a class="el" href="group__gpio__interface__gr.html#gadb33882caa9dc3a481d19ab16573dd4c">ARM_GPIO_DIRECTION</a>&#160;</td>
684           <td class="paramname"><em>direction</em>&#160;</td>
685         </tr>
686         <tr>
687           <td></td>
688           <td>)</td>
689           <td></td><td></td>
690         </tr>
691       </table>
692 </div><div class="memdoc">
693
694 <p>Set GPIO Direction. </p>
695 <dl class="params"><dt>Parameters</dt><dd>
696   <table class="params">
697     <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO Pin </td></tr>
698     <tr><td class="paramdir">[in]</td><td class="paramname">direction</td><td><a class="el" href="group__gpio__interface__gr.html#gadb33882caa9dc3a481d19ab16573dd4c">ARM_GPIO_DIRECTION</a> </td></tr>
699   </table>
700   </dd>
701 </dl>
702 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__execution__status.html">Status Error Codes</a></dd></dl>
703 <p>The function <b>ARM_GPIO_SetDirection</b> configures the direction of the specified <em>pin</em>.</p>
704 <p>Direction is specified with parameter <em>direction:</em> </p><ul>
705 <li><a class="el" href="Driver__GPIO_8h.html#gadb33882caa9dc3a481d19ab16573dd4ca58fb239e72a3f93e94f2efe71477bd18">ARM_GPIO_INPUT</a> : Input (default),</li>
706 <li><a class="el" href="Driver__GPIO_8h.html#gadb33882caa9dc3a481d19ab16573dd4cad4685767096d17e5acb6abf6c6495d06">ARM_GPIO_OUTPUT</a> : Output. </li>
707 </ul>
708
709 </div>
710 </div>
711 <a id="gab47e3266116c09442a3b3672a8224835" name="gab47e3266116c09442a3b3672a8224835"></a>
712 <h2 class="memtitle"><span class="permalink"><a href="#gab47e3266116c09442a3b3672a8224835">&#9670;&#160;</a></span>ARM_GPIO_SetOutputMode()</h2>
713
714 <div class="memitem">
715 <div class="memproto">
716       <table class="memname">
717         <tr>
718           <td class="memname">int32_t ARM_GPIO_SetOutputMode </td>
719           <td>(</td>
720           <td class="paramtype"><a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a>&#160;</td>
721           <td class="paramname"><em>pin</em>, </td>
722         </tr>
723         <tr>
724           <td class="paramkey"></td>
725           <td></td>
726           <td class="paramtype"><a class="el" href="group__gpio__interface__gr.html#ga1fc02461f93fabddb49fd46513c7480b">ARM_GPIO_OUTPUT_MODE</a>&#160;</td>
727           <td class="paramname"><em>mode</em>&#160;</td>
728         </tr>
729         <tr>
730           <td></td>
731           <td>)</td>
732           <td></td><td></td>
733         </tr>
734       </table>
735 </div><div class="memdoc">
736
737 <p>Set GPIO Output Mode. </p>
738 <dl class="params"><dt>Parameters</dt><dd>
739   <table class="params">
740     <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO Pin </td></tr>
741     <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td><a class="el" href="group__gpio__interface__gr.html#ga1fc02461f93fabddb49fd46513c7480b">ARM_GPIO_OUTPUT_MODE</a> </td></tr>
742   </table>
743   </dd>
744 </dl>
745 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__execution__status.html">Status Error Codes</a></dd></dl>
746 <p>The function <b>ARM_GPIO_SetOutputMode</b> configures the output mode of the specified <em>pin</em>.</p>
747 <p>Output mode is specified with parameter <em>mode:</em> </p><ul>
748 <li><a class="el" href="Driver__GPIO_8h.html#ga1fc02461f93fabddb49fd46513c7480bac4b9f2ea6c849cf47d9ed2cf7ccf7a93">ARM_GPIO_PUSH_PULL</a> : Push-pull (default),</li>
749 <li><a class="el" href="Driver__GPIO_8h.html#ga1fc02461f93fabddb49fd46513c7480ba0a24a2221d2d9a31dff9a81e3b7e888f">ARM_GPIO_OPEN_DRAIN</a> : Open-drain.</li>
750 </ul>
751 <dl class="section note"><dt>Note</dt><dd>Output mode is relevant only when the pin is configured as output. </dd></dl>
752
753 </div>
754 </div>
755 <a id="ga2c6ded4151e86ac0ee84d108fcfb661f" name="ga2c6ded4151e86ac0ee84d108fcfb661f"></a>
756 <h2 class="memtitle"><span class="permalink"><a href="#ga2c6ded4151e86ac0ee84d108fcfb661f">&#9670;&#160;</a></span>ARM_GPIO_SetPullResistor()</h2>
757
758 <div class="memitem">
759 <div class="memproto">
760       <table class="memname">
761         <tr>
762           <td class="memname">int32_t ARM_GPIO_SetPullResistor </td>
763           <td>(</td>
764           <td class="paramtype"><a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a>&#160;</td>
765           <td class="paramname"><em>pin</em>, </td>
766         </tr>
767         <tr>
768           <td class="paramkey"></td>
769           <td></td>
770           <td class="paramtype"><a class="el" href="group__gpio__interface__gr.html#ga3e46add7954c3c9ba9617d630565c913">ARM_GPIO_PULL_RESISTOR</a>&#160;</td>
771           <td class="paramname"><em>resistor</em>&#160;</td>
772         </tr>
773         <tr>
774           <td></td>
775           <td>)</td>
776           <td></td><td></td>
777         </tr>
778       </table>
779 </div><div class="memdoc">
780
781 <p>Set GPIO Pull Resistor. </p>
782 <dl class="params"><dt>Parameters</dt><dd>
783   <table class="params">
784     <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO Pin </td></tr>
785     <tr><td class="paramdir">[in]</td><td class="paramname">resistor</td><td><a class="el" href="group__gpio__interface__gr.html#ga3e46add7954c3c9ba9617d630565c913">ARM_GPIO_PULL_RESISTOR</a> </td></tr>
786   </table>
787   </dd>
788 </dl>
789 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__execution__status.html">Status Error Codes</a></dd></dl>
790 <p>The function <b>ARM_GPIO_SetPullResistor</b> configures the pull resistor of the specified <em>pin</em>.</p>
791 <p>Pull resistor is specified with parameter <em>resistor:</em> </p><ul>
792 <li><a class="el" href="Driver__GPIO_8h.html#ga3e46add7954c3c9ba9617d630565c913a187a7bb55ed81726845c8c194f28d49c">ARM_GPIO_PULL_NONE</a> : None (default),</li>
793 <li><a class="el" href="Driver__GPIO_8h.html#ga3e46add7954c3c9ba9617d630565c913a73c7ba703ce0cd40f77392bb28a4a188">ARM_GPIO_PULL_UP</a> : Pull-up,</li>
794 <li><a class="el" href="Driver__GPIO_8h.html#ga3e46add7954c3c9ba9617d630565c913a4fc8779c762a502dd029b7a676cc022b">ARM_GPIO_PULL_DOWN</a> : Pull-down.</li>
795 </ul>
796 <dl class="section note"><dt>Note</dt><dd>Pull resistor applies to the pin regardless of pin direction. </dd></dl>
797
798 </div>
799 </div>
800 <a id="ga03c0ab613fa56b461be82777feea1a6d" name="ga03c0ab613fa56b461be82777feea1a6d"></a>
801 <h2 class="memtitle"><span class="permalink"><a href="#ga03c0ab613fa56b461be82777feea1a6d">&#9670;&#160;</a></span>ARM_GPIO_SetEventTrigger()</h2>
802
803 <div class="memitem">
804 <div class="memproto">
805       <table class="memname">
806         <tr>
807           <td class="memname">int32_t ARM_GPIO_SetEventTrigger </td>
808           <td>(</td>
809           <td class="paramtype"><a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a>&#160;</td>
810           <td class="paramname"><em>pin</em>, </td>
811         </tr>
812         <tr>
813           <td class="paramkey"></td>
814           <td></td>
815           <td class="paramtype"><a class="el" href="group__gpio__interface__gr.html#ga0df966ec6b2ebedd7880a3efc75976cd">ARM_GPIO_EVENT_TRIGGER</a>&#160;</td>
816           <td class="paramname"><em>trigger</em>&#160;</td>
817         </tr>
818         <tr>
819           <td></td>
820           <td>)</td>
821           <td></td><td></td>
822         </tr>
823       </table>
824 </div><div class="memdoc">
825
826 <p>Set GPIO Event Trigger. </p>
827 <dl class="params"><dt>Parameters</dt><dd>
828   <table class="params">
829     <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO Pin </td></tr>
830     <tr><td class="paramdir">[in]</td><td class="paramname">trigger</td><td><a class="el" href="group__gpio__interface__gr.html#ga0df966ec6b2ebedd7880a3efc75976cd">ARM_GPIO_EVENT_TRIGGER</a> </td></tr>
831   </table>
832   </dd>
833 </dl>
834 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__execution__status.html">Status Error Codes</a></dd></dl>
835 <p>The function <b>ARM_GPIO_SetEventTrigger</b> configures the event trigger of the specified <em>pin</em>.</p>
836 <p>Event trigger is specified with parameter <em>trigger:</em> </p><ul>
837 <li><a class="el" href="Driver__GPIO_8h.html#ga0df966ec6b2ebedd7880a3efc75976cda93171249f006c83b7661df73d976556d">ARM_GPIO_TRIGGER_NONE</a> : None (default),</li>
838 <li><a class="el" href="Driver__GPIO_8h.html#ga0df966ec6b2ebedd7880a3efc75976cdaba20b1e31878cce514240db48ff72936">ARM_GPIO_TRIGGER_RISING_EDGE</a> : Rising-edge,</li>
839 <li><a class="el" href="Driver__GPIO_8h.html#ga0df966ec6b2ebedd7880a3efc75976cdafa65dc9f0e518b4d640e69e194ffd847">ARM_GPIO_TRIGGER_FALLING_EDGE</a> : Falling-edge,</li>
840 <li><a class="el" href="Driver__GPIO_8h.html#ga0df966ec6b2ebedd7880a3efc75976cdaf08214415e90ef3b65e3438b1b523873">ARM_GPIO_TRIGGER_EITHER_EDGE</a> : Either edge (rising and falling).</li>
841 </ul>
842 <dl class="section note"><dt>Note</dt><dd>To disable event trigger use trigger parameter <a class="el" href="Driver__GPIO_8h.html#ga0df966ec6b2ebedd7880a3efc75976cda93171249f006c83b7661df73d976556d">ARM_GPIO_TRIGGER_NONE</a>. </dd></dl>
843
844 </div>
845 </div>
846 <a id="gacdac385c2d5e420b95740749d3f428af" name="gacdac385c2d5e420b95740749d3f428af"></a>
847 <h2 class="memtitle"><span class="permalink"><a href="#gacdac385c2d5e420b95740749d3f428af">&#9670;&#160;</a></span>ARM_GPIO_SetOutput()</h2>
848
849 <div class="memitem">
850 <div class="memproto">
851       <table class="memname">
852         <tr>
853           <td class="memname">void ARM_GPIO_SetOutput </td>
854           <td>(</td>
855           <td class="paramtype"><a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a>&#160;</td>
856           <td class="paramname"><em>pin</em>, </td>
857         </tr>
858         <tr>
859           <td class="paramkey"></td>
860           <td></td>
861           <td class="paramtype">uint32_t&#160;</td>
862           <td class="paramname"><em>val</em>&#160;</td>
863         </tr>
864         <tr>
865           <td></td>
866           <td>)</td>
867           <td></td><td></td>
868         </tr>
869       </table>
870 </div><div class="memdoc">
871
872 <p>Set GPIO Output Level. </p>
873 <dl class="params"><dt>Parameters</dt><dd>
874   <table class="params">
875     <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO Pin </td></tr>
876     <tr><td class="paramdir">[in]</td><td class="paramname">val</td><td>GPIO Pin Level (0 or 1)</td></tr>
877   </table>
878   </dd>
879 </dl>
880 <p>The function <b>ARM_GPIO_SetOutput</b> sets the level of the specified <em>pin</em> defined as output to the value specified by <em>val</em>.</p>
881 <dl class="section note"><dt>Note</dt><dd>When a pin is configured as input, the level is latched and will be driven once the pin is configured as output. </dd></dl>
882
883 </div>
884 </div>
885 <a id="ga6259ec39507a5a59a47ef935bd83e41c" name="ga6259ec39507a5a59a47ef935bd83e41c"></a>
886 <h2 class="memtitle"><span class="permalink"><a href="#ga6259ec39507a5a59a47ef935bd83e41c">&#9670;&#160;</a></span>ARM_GPIO_GetInput()</h2>
887
888 <div class="memitem">
889 <div class="memproto">
890       <table class="memname">
891         <tr>
892           <td class="memname">uint32_t ARM_GPIO_GetInput </td>
893           <td>(</td>
894           <td class="paramtype"><a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a>&#160;</td>
895           <td class="paramname"><em>pin</em></td><td>)</td>
896           <td></td>
897         </tr>
898       </table>
899 </div><div class="memdoc">
900
901 <p>Get GPIO Input Level. </p>
902 <dl class="params"><dt>Parameters</dt><dd>
903   <table class="params">
904     <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO Pin </td></tr>
905   </table>
906   </dd>
907 </dl>
908 <dl class="section return"><dt>Returns</dt><dd>GPIO Pin Level (0 or 1)</dd></dl>
909 <p>The function <b>ARM_GPIO_GetInput</b> reads the level of the specified <em>pin</em>. </p>
910
911 </div>
912 </div>
913 <a id="ga85dd1634405efb2eae2d3775ecdc6081" name="ga85dd1634405efb2eae2d3775ecdc6081"></a>
914 <h2 class="memtitle"><span class="permalink"><a href="#ga85dd1634405efb2eae2d3775ecdc6081">&#9670;&#160;</a></span>ARM_GPIO_SignalEvent()</h2>
915
916 <div class="memitem">
917 <div class="memproto">
918       <table class="memname">
919         <tr>
920           <td class="memname">void ARM_GPIO_SignalEvent </td>
921           <td>(</td>
922           <td class="paramtype"><a class="el" href="Driver__GPIO_8h.html#aa610a72c0924a56973780d7d1d4e538a">ARM_GPIO_Pin_t</a>&#160;</td>
923           <td class="paramname"><em>pin</em>, </td>
924         </tr>
925         <tr>
926           <td class="paramkey"></td>
927           <td></td>
928           <td class="paramtype">uint32_t&#160;</td>
929           <td class="paramname"><em>event</em>&#160;</td>
930         </tr>
931         <tr>
932           <td></td>
933           <td>)</td>
934           <td></td><td></td>
935         </tr>
936       </table>
937 </div><div class="memdoc">
938
939 <p>Signal GPIO Events. </p>
940 <dl class="params"><dt>Parameters</dt><dd>
941   <table class="params">
942     <tr><td class="paramdir">[in]</td><td class="paramname">pin</td><td>GPIO Pin on which event occurred </td></tr>
943     <tr><td class="paramdir">[in]</td><td class="paramname">event</td><td><a class="el" href="group__GPIO__events.html">GPIO Events</a> notification mask</td></tr>
944   </table>
945   </dd>
946 </dl>
947 <p>The function <b>ARM_GPIO_SignalEvent</b> is a callback functions registered by the function <a class="el" href="group__gpio__interface__gr.html#ga10924781db8b42f1fc506bb83a6b7284">ARM_GPIO_Setup</a>. It is called by the GPIO driver to notify the application about <a class="el" href="group__GPIO__events.html">GPIO Events</a> occurred during operation.</p>
948 <p>The parameter <em>pin</em> indicates on which pin the event occurred and parameter <em>event</em> indicates one or more events that occurred.</p>
949 <p>The following events can be generated:</p>
950 <table class="cmtable">
951 <tr>
952 <th>Parameter <em>event</em> </th><th>Bit </th><th>Description   </th></tr>
953 <tr>
954 <td><a class="el" href="group__GPIO__events.html#ga5b3eebcd265811423a9e3cfc86de7981">ARM_GPIO_EVENT_RISING_EDGE</a> </td><td>0 </td><td>Occurs when rising-edge is detected on the indicated pin.   </td></tr>
955 <tr>
956 <td><a class="el" href="group__GPIO__events.html#ga786063babcfbf55e38bb09e62e6b4e8e">ARM_GPIO_EVENT_FALLING_EDGE</a> </td><td>1 </td><td>Occurs when falling-edge is detected on the indicated pin.   </td></tr>
957 <tr>
958 <td><a class="el" href="group__GPIO__events.html#gac2d649951a265a3508b16b0775cd2647">ARM_GPIO_EVENT_EITHER_EDGE</a> </td><td>2 </td><td>Occurs when either edge is detected on the indicated pin when trigger is configured as <a class="el" href="Driver__GPIO_8h.html#ga0df966ec6b2ebedd7880a3efc75976cdaf08214415e90ef3b65e3438b1b523873">ARM_GPIO_TRIGGER_EITHER_EDGE</a> and hardware is not able to distinguish between rising and falling edge.   </td></tr>
959 </table>
960
961 </div>
962 </div>
963 </div><!-- contents -->
964 </div><!-- doc-content -->
965 <!-- start footer part -->
966 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
967   <ul>
968     <li class="footer">
969       <script type="text/javascript">
970         <!--
971         writeFooter.call(this);
972         //-->
973       </script> 
974     </li>
975   </ul>
976 </div>
977 </body>
978 </html>