]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_GCC/freedom-metal/doc/html/apiref/uart.html
394741269ce7e526e3f13ca068b033e89d580e23
[freertos] / FreeRTOS / Demo / RISC-V_RV32_SiFive_HiFive1_GCC / freedom-metal / doc / html / apiref / uart.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>UARTs &#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="prev" title="TTY" href="tty.html" />
19    
20   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
21   
22   
23   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
24
25   </head><body>
26   
27
28     <div class="document">
29       <div class="documentwrapper">
30         <div class="bodywrapper">
31           
32
33           <div class="body" role="main">
34             
35   <div class="section" id="uarts">
36 <h1>UARTs<a class="headerlink" href="#uarts" title="Permalink to this headline">¶</a></h1>
37 <p>API for UART serial ports. </p>
38 <div class="breathe-sectiondef docutils container">
39 <p class="breathe-sectiondef-title rubric">Functions</p>
40 <dl class="function">
41 <dt id="_CPPv315metal_uart_initP10metal_uarti">
42 <span id="_CPPv215metal_uart_initP10metal_uarti"></span><span id="metal_uart_init__metal_uartP.i"></span><span class="target" id="uart_8h_1adbf9256d85888e26836baba4a51fc1e4"></span>void <code class="descname">metal_uart_init</code><span class="sig-paren">(</span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_uart" title="metal_uart">metal_uart</a> *<em>uart</em>, int <em>baud_rate</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv315metal_uart_initP10metal_uarti" title="Permalink to this definition">¶</a><br /></dt>
43 <dd><p>Initialize UART device. </p>
44 <p>Initialize the UART device described by the UART handle. This function must be called before any other method on the UART can be invoked. It is invalid to initialize a UART more than once.</p>
45 <p><dl class="docutils">
46 <dt><strong>Parameters</strong></dt>
47 <dd><ul class="breatheparameterlist first last simple">
48 <li><code class="docutils literal notranslate"><span class="pre">uart</span></code>: The UART device handle </li>
49 <li><code class="docutils literal notranslate"><span class="pre">baud_rate</span></code>: the baud rate to set the UART to </li>
50 </ul>
51 </dd>
52 </dl>
53 </p>
54 </dd></dl>
55
56 <dl class="function">
57 <dt id="_CPPv315metal_uart_putcP10metal_uarth">
58 <span id="_CPPv215metal_uart_putcP10metal_uarth"></span><span id="metal_uart_putc__metal_uartP.unsigned-c"></span><span class="target" id="uart_8h_1aed0d369d1bccd7703496b85e4a660e9c"></span>int <code class="descname">metal_uart_putc</code><span class="sig-paren">(</span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_uart" title="metal_uart">metal_uart</a> *<em>uart</em>, unsigned char <em>c</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv315metal_uart_putcP10metal_uarth" title="Permalink to this definition">¶</a><br /></dt>
59 <dd><p>Output a character over the UART. </p>
60 <p><dl class="docutils">
61 <dt><strong>Return</strong></dt>
62 <dd>0 upon success </dd>
63 <dt><strong>Parameters</strong></dt>
64 <dd><ul class="breatheparameterlist first last simple">
65 <li><code class="docutils literal notranslate"><span class="pre">uart</span></code>: The UART device handle </li>
66 <li><code class="docutils literal notranslate"><span class="pre">c</span></code>: The character to send over the UART </li>
67 </ul>
68 </dd>
69 </dl>
70 </p>
71 </dd></dl>
72
73 <dl class="function">
74 <dt id="_CPPv315metal_uart_getcP10metal_uartPh">
75 <span id="_CPPv215metal_uart_getcP10metal_uartPh"></span><span id="metal_uart_getc__metal_uartP.unsigned-cP"></span><span class="target" id="uart_8h_1a8bb43c693eaef1b3a50f7f90da319723"></span>int <code class="descname">metal_uart_getc</code><span class="sig-paren">(</span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_uart" title="metal_uart">metal_uart</a> *<em>uart</em>, unsigned char *<em>c</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv315metal_uart_getcP10metal_uartPh" title="Permalink to this definition">¶</a><br /></dt>
76 <dd><p>Read a character sent over the UART. </p>
77 <p><dl class="docutils">
78 <dt><strong>Return</strong></dt>
79 <dd>0 upon success </dd>
80 <dt><strong>Parameters</strong></dt>
81 <dd><ul class="breatheparameterlist first last simple">
82 <li><code class="docutils literal notranslate"><span class="pre">uart</span></code>: The UART device handle </li>
83 <li><code class="docutils literal notranslate"><span class="pre">c</span></code>: The varible to hold the read character </li>
84 </ul>
85 </dd>
86 </dl>
87 </p>
88 </dd></dl>
89
90 <dl class="function">
91 <dt id="_CPPv324metal_uart_get_baud_rateP10metal_uart">
92 <span id="_CPPv224metal_uart_get_baud_rateP10metal_uart"></span><span id="metal_uart_get_baud_rate__metal_uartP"></span><span class="target" id="uart_8h_1a9ad40970f7ddee96d8742262108bace7"></span>int <code class="descname">metal_uart_get_baud_rate</code><span class="sig-paren">(</span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_uart" title="metal_uart">metal_uart</a> *<em>uart</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv324metal_uart_get_baud_rateP10metal_uart" title="Permalink to this definition">¶</a><br /></dt>
93 <dd><p>Get the baud rate of the UART peripheral. </p>
94 <p><dl class="docutils">
95 <dt><strong>Return</strong></dt>
96 <dd>The current baud rate of the UART </dd>
97 <dt><strong>Parameters</strong></dt>
98 <dd><ul class="breatheparameterlist first last simple">
99 <li><code class="docutils literal notranslate"><span class="pre">uart</span></code>: The UART device handle </li>
100 </ul>
101 </dd>
102 </dl>
103 </p>
104 </dd></dl>
105
106 <dl class="function">
107 <dt id="_CPPv324metal_uart_set_baud_rateP10metal_uarti">
108 <span id="_CPPv224metal_uart_set_baud_rateP10metal_uarti"></span><span id="metal_uart_set_baud_rate__metal_uartP.i"></span><span class="target" id="uart_8h_1a1dfd8db9befd5a70a1575a78c7b2be9b"></span>int <code class="descname">metal_uart_set_baud_rate</code><span class="sig-paren">(</span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_uart" title="metal_uart">metal_uart</a> *<em>uart</em>, int <em>baud_rate</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv324metal_uart_set_baud_rateP10metal_uarti" title="Permalink to this definition">¶</a><br /></dt>
109 <dd><p>Set the baud rate of the UART peripheral. </p>
110 <p><dl class="docutils">
111 <dt><strong>Return</strong></dt>
112 <dd>the new baud rate of the UART </dd>
113 <dt><strong>Parameters</strong></dt>
114 <dd><ul class="breatheparameterlist first last simple">
115 <li><code class="docutils literal notranslate"><span class="pre">uart</span></code>: The UART device handle </li>
116 <li><code class="docutils literal notranslate"><span class="pre">baud_rate</span></code>: The baud rate to configure </li>
117 </ul>
118 </dd>
119 </dl>
120 </p>
121 </dd></dl>
122
123 <dl class="function">
124 <dt id="_CPPv331metal_uart_interrupt_controllerP10metal_uart">
125 <span id="_CPPv231metal_uart_interrupt_controllerP10metal_uart"></span><span id="metal_uart_interrupt_controller__metal_uartP"></span><span class="target" id="uart_8h_1ab18c5494323eafd1fb571f4f0a870d7f"></span><em class="property">struct</em> <a class="reference internal" href="interrupt.html#_CPPv315metal_interrupt" title="metal_interrupt">metal_interrupt</a> *<code class="descname">metal_uart_interrupt_controller</code><span class="sig-paren">(</span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_uart" title="metal_uart">metal_uart</a> *<em>uart</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv331metal_uart_interrupt_controllerP10metal_uart" title="Permalink to this definition">¶</a><br /></dt>
126 <dd><p>Get the interrupt controller of the UART peripheral. </p>
127 <p>Get the interrupt controller for the UART peripheral. The interrupt controller must be initialized before any interrupts can be registered or enabled with it.</p>
128 <p><dl class="docutils">
129 <dt><strong>Return</strong></dt>
130 <dd>The handle for the UART interrupt controller </dd>
131 <dt><strong>Parameters</strong></dt>
132 <dd><ul class="breatheparameterlist first last simple">
133 <li><code class="docutils literal notranslate"><span class="pre">uart</span></code>: The UART device handle </li>
134 </ul>
135 </dd>
136 </dl>
137 </p>
138 </dd></dl>
139
140 <dl class="function">
141 <dt id="_CPPv327metal_uart_get_interrupt_idP10metal_uart">
142 <span id="_CPPv227metal_uart_get_interrupt_idP10metal_uart"></span><span id="metal_uart_get_interrupt_id__metal_uartP"></span><span class="target" id="uart_8h_1a785bd006fa3262d19cb54fc2e88a6a57"></span>int <code class="descname">metal_uart_get_interrupt_id</code><span class="sig-paren">(</span><em class="property">struct</em> <a class="reference internal" href="#_CPPv310metal_uart" title="metal_uart">metal_uart</a> *<em>uart</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv327metal_uart_get_interrupt_idP10metal_uart" title="Permalink to this definition">¶</a><br /></dt>
143 <dd><p>Get the interrupt ID of the UART controller. </p>
144 <p><dl class="docutils">
145 <dt><strong>Return</strong></dt>
146 <dd>The UART interrupt id </dd>
147 <dt><strong>Parameters</strong></dt>
148 <dd><ul class="breatheparameterlist first last simple">
149 <li><code class="docutils literal notranslate"><span class="pre">uart</span></code>: The UART device handle </li>
150 </ul>
151 </dd>
152 </dl>
153 </p>
154 </dd></dl>
155
156 </div>
157 <dl class="class">
158 <dt id="_CPPv310metal_uart">
159 <span id="_CPPv210metal_uart"></span><span id="metal_uart"></span><span class="target" id="structmetal__uart"></span><em class="property">struct </em><code class="descname">metal_uart</code><a class="headerlink" href="#_CPPv310metal_uart" title="Permalink to this definition">¶</a><br /></dt>
160 <dd><em>#include &lt;uart.h&gt;</em><p>Handle for a UART serial device. </p>
161 </dd></dl>
162
163 </div>
164
165
166           </div>
167           
168         </div>
169       </div>
170       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
171         <div class="sphinxsidebarwrapper">
172 <h1 class="logo"><a href="../index.html">Freedom Metal</a></h1>
173
174
175
176
177
178
179
180
181 <h3>Navigation</h3>
182 <ul class="current">
183 <li class="toctree-l1"><a class="reference internal" href="../introduction.html">Introduction to Freedom Metal</a></li>
184 <li class="toctree-l1"><a class="reference internal" href="../devguide.html">Developer Guide</a></li>
185 <li class="toctree-l1 current"><a class="reference internal" href="../api.html">API Reference</a><ul class="current">
186 <li class="toctree-l2"><a class="reference internal" href="button.html">Buttons</a></li>
187 <li class="toctree-l2"><a class="reference internal" href="cache.html">Caches</a></li>
188 <li class="toctree-l2"><a class="reference internal" href="clock.html">Clocks</a></li>
189 <li class="toctree-l2"><a class="reference internal" href="cpu.html">CPU</a></li>
190 <li class="toctree-l2"><a class="reference internal" href="gpio.html">GPIO</a></li>
191 <li class="toctree-l2"><a class="reference internal" href="interrupt.html">Interrupts</a></li>
192 <li class="toctree-l2"><a class="reference internal" href="itim.html">ITIM</a></li>
193 <li class="toctree-l2"><a class="reference internal" href="led.html">LEDs</a></li>
194 <li class="toctree-l2"><a class="reference internal" href="lock.html">Locks</a></li>
195 <li class="toctree-l2"><a class="reference internal" href="memory.html">Memory Enumeration</a></li>
196 <li class="toctree-l2"><a class="reference internal" href="pmp.html">PMPs</a></li>
197 <li class="toctree-l2"><a class="reference internal" href="shutdown.html">Shutdown</a></li>
198 <li class="toctree-l2"><a class="reference internal" href="spi.html">SPIs</a></li>
199 <li class="toctree-l2"><a class="reference internal" href="switch.html">Switches</a></li>
200 <li class="toctree-l2"><a class="reference internal" href="timer.html">Timer API</a></li>
201 <li class="toctree-l2"><a class="reference internal" href="tty.html">TTY</a></li>
202 <li class="toctree-l2 current"><a class="current reference internal" href="#">UARTs</a></li>
203 </ul>
204 </li>
205 </ul>
206
207 <div class="relations">
208 <h3>Related Topics</h3>
209 <ul>
210   <li><a href="../index.html">Documentation overview</a><ul>
211   <li><a href="../api.html">API Reference</a><ul>
212       <li>Previous: <a href="tty.html" title="previous chapter">TTY</a></li>
213   </ul></li>
214   </ul></li>
215 </ul>
216 </div>
217 <div id="searchbox" style="display: none" role="search">
218   <h3>Quick search</h3>
219     <div class="searchformwrapper">
220     <form class="search" action="../search.html" method="get">
221       <input type="text" name="q" />
222       <input type="submit" value="Go" />
223       <input type="hidden" name="check_keywords" value="yes" />
224       <input type="hidden" name="area" value="default" />
225     </form>
226     </div>
227 </div>
228 <script type="text/javascript">$('#searchbox').show(0);</script>
229         </div>
230       </div>
231       <div class="clearer"></div>
232     </div>
233     <div class="footer">
234       &copy;2019, SiFive Inc..
235       
236       |
237       Powered by <a href="http://sphinx-doc.org/">Sphinx 1.7.5</a>
238       &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.11</a>
239       
240       |
241       <a href="../_sources/apiref/uart.rst.txt"
242           rel="nofollow">Page source</a>
243     </div>
244
245     
246
247     
248   </body>
249 </html>