]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_GCC/freedom-metal/doc/html/apiref/gpio.html
Added the "full" demo to the RISC-V_RV32_SiFive_HiFive1_GCC demo - backup check in...
[freertos] / FreeRTOS / Demo / RISC-V_RV32_SiFive_HiFive1_GCC / freedom-metal / doc / html / apiref / gpio.html
1
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5 <html xmlns="http://www.w3.org/1999/xhtml">
6   <head>
7     <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
8     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9     <title>GPIO &#8212; Freedom Metal v201905 documentation</title>
10     <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
11     <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
12     <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
13     <script type="text/javascript" src="../_static/jquery.js"></script>
14     <script type="text/javascript" src="../_static/underscore.js"></script>
15     <script type="text/javascript" src="../_static/doctools.js"></script>
16     <link rel="index" title="Index" href="../genindex.html" />
17     <link rel="search" title="Search" href="../search.html" />
18     <link rel="next" title="Interrupts" href="interrupt.html" />
19     <link rel="prev" title="CPU" href="cpu.html" />
20    
21   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
22   
23   
24   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
25
26   </head><body>
27   
28
29     <div class="document">
30       <div class="documentwrapper">
31         <div class="bodywrapper">
32           
33
34           <div class="body" role="main">
35             
36   <div class="section" id="gpio">
37 <h1>GPIO<a class="headerlink" href="#gpio" title="Permalink to this headline">¶</a></h1>
38 <p>API for manipulating general-purpose input/output. </p>
39 <div class="breathe-sectiondef docutils container">
40 <p class="breathe-sectiondef-title rubric">Functions</p>
41 <dl class="function">
42 <dt id="_CPPv321metal_gpio_get_devicei">
43 <span id="_CPPv221metal_gpio_get_devicei"></span><span id="metal_gpio_get_device__i"></span><span class="target" id="gpio_8h_1aeab9188ec903fe358808eb9730074b9e"></span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_gpio" title="metal_gpio">metal_gpio</a> *<code class="descname">metal_gpio_get_device</code><span class="sig-paren">(</span>int <em>device_num</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv321metal_gpio_get_devicei" title="Permalink to this definition">¶</a><br /></dt>
44 <dd><p>Get a GPIO device handle. </p>
45 <p><dl class="docutils">
46 <dt><strong>Return</strong></dt>
47 <dd>The GPIO device handle, or NULL if there is no device at that index </dd>
48 <dt><strong>Parameters</strong></dt>
49 <dd><ul class="breatheparameterlist first last simple">
50 <li><code class="docutils literal notranslate"><span class="pre">device_num</span></code>: The GPIO device index </li>
51 </ul>
52 </dd>
53 </dl>
54 </p>
55 </dd></dl>
56
57 <dl class="function">
58 <dt id="_CPPv324metal_gpio_disable_inputP10metal_gpioi">
59 <span id="_CPPv224metal_gpio_disable_inputP10metal_gpioi"></span><span id="metal_gpio_disable_input__metal_gpioP.i"></span><span class="target" id="gpio_8h_1a319ab9fa1996f01d50946589fd5143fc"></span>int <code class="descname">metal_gpio_disable_input</code><span class="sig-paren">(</span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_gpio" title="metal_gpio">metal_gpio</a> *<em>gpio</em>, int <em>pin</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv324metal_gpio_disable_inputP10metal_gpioi" title="Permalink to this definition">¶</a><br /></dt>
60 <dd><p>Disable input on a pin. </p>
61 <p><dl class="docutils">
62 <dt><strong>Return</strong></dt>
63 <dd>0 if the input is successfully disabled </dd>
64 <dt><strong>Parameters</strong></dt>
65 <dd><ul class="breatheparameterlist first last simple">
66 <li><code class="docutils literal notranslate"><span class="pre">gpio</span></code>: The handle for the GPIO interface </li>
67 <li><code class="docutils literal notranslate"><span class="pre">pin</span></code>: The pin number indexed from 0 </li>
68 </ul>
69 </dd>
70 </dl>
71 </p>
72 </dd></dl>
73
74 <dl class="function">
75 <dt id="_CPPv324metal_gpio_enable_outputP10metal_gpioi">
76 <span id="_CPPv224metal_gpio_enable_outputP10metal_gpioi"></span><span id="metal_gpio_enable_output__metal_gpioP.i"></span><span class="target" id="gpio_8h_1a66f67e5425645d42a4c2bc92ecdff46e"></span>int <code class="descname">metal_gpio_enable_output</code><span class="sig-paren">(</span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_gpio" title="metal_gpio">metal_gpio</a> *<em>gpio</em>, int <em>pin</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv324metal_gpio_enable_outputP10metal_gpioi" title="Permalink to this definition">¶</a><br /></dt>
77 <dd><p>Enable output on a pin. </p>
78 <p><dl class="docutils">
79 <dt><strong>Return</strong></dt>
80 <dd>0 if the output is successfully enabled </dd>
81 <dt><strong>Parameters</strong></dt>
82 <dd><ul class="breatheparameterlist first last simple">
83 <li><code class="docutils literal notranslate"><span class="pre">gpio</span></code>: The handle for the GPIO interface </li>
84 <li><code class="docutils literal notranslate"><span class="pre">pin</span></code>: The pin number indexed from 0 </li>
85 </ul>
86 </dd>
87 </dl>
88 </p>
89 </dd></dl>
90
91 <dl class="function">
92 <dt id="_CPPv318metal_gpio_set_pinP10metal_gpioii">
93 <span id="_CPPv218metal_gpio_set_pinP10metal_gpioii"></span><span id="metal_gpio_set_pin__metal_gpioP.i.i"></span><span class="target" id="gpio_8h_1aa6c411fb729c3508f6838f34f566ff99"></span>int <code class="descname">metal_gpio_set_pin</code><span class="sig-paren">(</span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_gpio" title="metal_gpio">metal_gpio</a> *<em>gpio</em>, int <em>pin</em>, int <em>value</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv318metal_gpio_set_pinP10metal_gpioii" title="Permalink to this definition">¶</a><br /></dt>
94 <dd><p>Set the output value of a GPIO pin. </p>
95 <p><dl class="docutils">
96 <dt><strong>Return</strong></dt>
97 <dd>0 if the output is successfully set </dd>
98 <dt><strong>Parameters</strong></dt>
99 <dd><ul class="breatheparameterlist first last simple">
100 <li><code class="docutils literal notranslate"><span class="pre">gpio</span></code>: The handle for the GPIO interface </li>
101 <li><code class="docutils literal notranslate"><span class="pre">pin</span></code>: The pin number indexed from 0 </li>
102 <li><code class="docutils literal notranslate"><span class="pre">value</span></code>: The value to set the pin to </li>
103 </ul>
104 </dd>
105 </dl>
106 </p>
107 </dd></dl>
108
109 <dl class="function">
110 <dt id="_CPPv318metal_gpio_get_pinP10metal_gpioi">
111 <span id="_CPPv218metal_gpio_get_pinP10metal_gpioi"></span><span id="metal_gpio_get_pin__metal_gpioP.i"></span><span class="target" id="gpio_8h_1a9d10fba8c4db0f3b43190cf4308e42e4"></span>int <code class="descname">metal_gpio_get_pin</code><span class="sig-paren">(</span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_gpio" title="metal_gpio">metal_gpio</a> *<em>gpio</em>, int <em>pin</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv318metal_gpio_get_pinP10metal_gpioi" title="Permalink to this definition">¶</a><br /></dt>
112 <dd><p>Get the value of the GPIO pin. </p>
113 <p><dl class="docutils">
114 <dt><strong>Return</strong></dt>
115 <dd>The value of the GPIO pin </dd>
116 <dt><strong>Parameters</strong></dt>
117 <dd><ul class="breatheparameterlist first last simple">
118 <li><code class="docutils literal notranslate"><span class="pre">gpio</span></code>: The handle for the GPIO interface </li>
119 <li><code class="docutils literal notranslate"><span class="pre">pin</span></code>: The pin number indexed from 0 </li>
120 </ul>
121 </dd>
122 </dl>
123 </p>
124 </dd></dl>
125
126 <dl class="function">
127 <dt id="_CPPv320metal_gpio_clear_pinP10metal_gpioi">
128 <span id="_CPPv220metal_gpio_clear_pinP10metal_gpioi"></span><span id="metal_gpio_clear_pin__metal_gpioP.i"></span><span class="target" id="gpio_8h_1a96c95efe0291a1e7b1d518041bb734f6"></span>int <code class="descname">metal_gpio_clear_pin</code><span class="sig-paren">(</span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_gpio" title="metal_gpio">metal_gpio</a> *<em>gpio</em>, int <em>pin</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv320metal_gpio_clear_pinP10metal_gpioi" title="Permalink to this definition">¶</a><br /></dt>
129 <dd><p>Clears the value of the GPIO pin. </p>
130 <p><dl class="docutils">
131 <dt><strong>Return</strong></dt>
132 <dd>0 if the pin is successfully cleared </dd>
133 <dt><strong>Parameters</strong></dt>
134 <dd><ul class="breatheparameterlist first last simple">
135 <li><code class="docutils literal notranslate"><span class="pre">gpio</span></code>: The handle for the GPIO interface </li>
136 <li><code class="docutils literal notranslate"><span class="pre">pin</span></code>: The pin number indexed from 0 </li>
137 </ul>
138 </dd>
139 </dl>
140 </p>
141 </dd></dl>
142
143 <dl class="function">
144 <dt id="_CPPv321metal_gpio_toggle_pinP10metal_gpioi">
145 <span id="_CPPv221metal_gpio_toggle_pinP10metal_gpioi"></span><span id="metal_gpio_toggle_pin__metal_gpioP.i"></span><span class="target" id="gpio_8h_1a99eec4021f85f7876aa8cacdca3f4713"></span>int <code class="descname">metal_gpio_toggle_pin</code><span class="sig-paren">(</span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_gpio" title="metal_gpio">metal_gpio</a> *<em>gpio</em>, int <em>pin</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv321metal_gpio_toggle_pinP10metal_gpioi" title="Permalink to this definition">¶</a><br /></dt>
146 <dd><p>Toggles the value of the GPIO pin. </p>
147 <p><dl class="docutils">
148 <dt><strong>Return</strong></dt>
149 <dd>0 if the pin is successfully toggled </dd>
150 <dt><strong>Parameters</strong></dt>
151 <dd><ul class="breatheparameterlist first last simple">
152 <li><code class="docutils literal notranslate"><span class="pre">gpio</span></code>: The handle for the GPIO interface </li>
153 <li><code class="docutils literal notranslate"><span class="pre">pin</span></code>: The pin number indexed from 0 </li>
154 </ul>
155 </dd>
156 </dl>
157 </p>
158 </dd></dl>
159
160 <dl class="function">
161 <dt id="_CPPv324metal_gpio_enable_pinmuxP10metal_gpioii">
162 <span id="_CPPv224metal_gpio_enable_pinmuxP10metal_gpioii"></span><span id="metal_gpio_enable_pinmux__metal_gpioP.i.i"></span><span class="target" id="gpio_8h_1a15aac32c5cf9d1aac02e0ae56b42bfe3"></span>int <code class="descname">metal_gpio_enable_pinmux</code><span class="sig-paren">(</span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_gpio" title="metal_gpio">metal_gpio</a> *<em>gpio</em>, int <em>pin</em>, int <em>io_function</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv324metal_gpio_enable_pinmuxP10metal_gpioii" title="Permalink to this definition">¶</a><br /></dt>
163 <dd><p>Enables and sets the pinmux for a GPIO pin. </p>
164 <p><dl class="docutils">
165 <dt><strong>Return</strong></dt>
166 <dd>0 if the pinmux is successfully set </dd>
167 <dt><strong>Parameters</strong></dt>
168 <dd><ul class="breatheparameterlist first last simple">
169 <li><code class="docutils literal notranslate"><span class="pre">gpio</span></code>: The handle for the GPIO interface </li>
170 <li><code class="docutils literal notranslate"><span class="pre">pin</span></code>: The bitmask for the pin to enable pinmux on </li>
171 <li><code class="docutils literal notranslate"><span class="pre">io_function</span></code>: The IO function to set </li>
172 </ul>
173 </dd>
174 </dl>
175 </p>
176 </dd></dl>
177
178 </div>
179 <dl class="class">
180 <dt id="_CPPv310metal_gpio">
181 <span id="_CPPv210metal_gpio"></span><span id="metal_gpio"></span><span class="target" id="structmetal__gpio"></span><em class="property">struct </em><code class="descname">metal_gpio</code><a class="headerlink" href="#_CPPv310metal_gpio" title="Permalink to this definition">¶</a><br /></dt>
182 <dd><em>#include &lt;gpio.h&gt;</em><p>The handle for a GPIO interface. </p>
183 </dd></dl>
184
185 </div>
186
187
188           </div>
189           
190         </div>
191       </div>
192       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
193         <div class="sphinxsidebarwrapper">
194 <h1 class="logo"><a href="../index.html">Freedom Metal</a></h1>
195
196
197
198
199
200
201
202
203 <h3>Navigation</h3>
204 <ul class="current">
205 <li class="toctree-l1"><a class="reference internal" href="../introduction.html">Introduction to Freedom Metal</a></li>
206 <li class="toctree-l1"><a class="reference internal" href="../devguide.html">Developer Guide</a></li>
207 <li class="toctree-l1 current"><a class="reference internal" href="../api.html">API Reference</a><ul class="current">
208 <li class="toctree-l2"><a class="reference internal" href="button.html">Buttons</a></li>
209 <li class="toctree-l2"><a class="reference internal" href="cache.html">Caches</a></li>
210 <li class="toctree-l2"><a class="reference internal" href="clock.html">Clocks</a></li>
211 <li class="toctree-l2"><a class="reference internal" href="cpu.html">CPU</a></li>
212 <li class="toctree-l2 current"><a class="current reference internal" href="#">GPIO</a></li>
213 <li class="toctree-l2"><a class="reference internal" href="interrupt.html">Interrupts</a></li>
214 <li class="toctree-l2"><a class="reference internal" href="itim.html">ITIM</a></li>
215 <li class="toctree-l2"><a class="reference internal" href="led.html">LEDs</a></li>
216 <li class="toctree-l2"><a class="reference internal" href="lock.html">Locks</a></li>
217 <li class="toctree-l2"><a class="reference internal" href="memory.html">Memory Enumeration</a></li>
218 <li class="toctree-l2"><a class="reference internal" href="pmp.html">PMPs</a></li>
219 <li class="toctree-l2"><a class="reference internal" href="shutdown.html">Shutdown</a></li>
220 <li class="toctree-l2"><a class="reference internal" href="spi.html">SPIs</a></li>
221 <li class="toctree-l2"><a class="reference internal" href="switch.html">Switches</a></li>
222 <li class="toctree-l2"><a class="reference internal" href="timer.html">Timer API</a></li>
223 <li class="toctree-l2"><a class="reference internal" href="tty.html">TTY</a></li>
224 <li class="toctree-l2"><a class="reference internal" href="uart.html">UARTs</a></li>
225 </ul>
226 </li>
227 </ul>
228
229 <div class="relations">
230 <h3>Related Topics</h3>
231 <ul>
232   <li><a href="../index.html">Documentation overview</a><ul>
233   <li><a href="../api.html">API Reference</a><ul>
234       <li>Previous: <a href="cpu.html" title="previous chapter">CPU</a></li>
235       <li>Next: <a href="interrupt.html" title="next chapter">Interrupts</a></li>
236   </ul></li>
237   </ul></li>
238 </ul>
239 </div>
240 <div id="searchbox" style="display: none" role="search">
241   <h3>Quick search</h3>
242     <div class="searchformwrapper">
243     <form class="search" action="../search.html" method="get">
244       <input type="text" name="q" />
245       <input type="submit" value="Go" />
246       <input type="hidden" name="check_keywords" value="yes" />
247       <input type="hidden" name="area" value="default" />
248     </form>
249     </div>
250 </div>
251 <script type="text/javascript">$('#searchbox').show(0);</script>
252         </div>
253       </div>
254       <div class="clearer"></div>
255     </div>
256     <div class="footer">
257       &copy;2019, SiFive Inc..
258       
259       |
260       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.7.5</a>
261       &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.11</a>
262       
263       |
264       <a href="../_sources/apiref/gpio.rst.txt"
265           rel="nofollow">Page source</a>
266     </div>
267
268     
269
270     
271   </body>
272 </html>