📄 testsuite_2bravo__validation_2usart_2usart_8h.html
字号:
<div class="memdoc"><p>Value returned by receiver function when nothing was received <p>Definition at line <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html#l00199">199</a> of file <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html">usart.h</a>.</div></div><p><a class="anchor" name="ffa1a7abf4e6ce54c0b64cc0826f8b4d"></a><!-- doxytag: member="usart.h::USART_RX_ERROR" ref="ffa1a7abf4e6ce54c0b64cc0826f8b4d" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">#define USART_RX_ERROR 4 </td> </tr> </table></div><div class="memdoc"><p>Value returned by receiver function when transmission error occured <p>Definition at line <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html#l00201">201</a> of file <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html">usart.h</a>.</div></div><p><a class="anchor" name="0e63ca7313cd01a9210c4a4613859a68"></a><!-- doxytag: member="usart.h::USART_SPACE_PARITY" ref="0e63ca7313cd01a9210c4a4613859a68" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">#define USART_SPACE_PARITY 2 </td> </tr> </table></div><div class="memdoc"><p>Use a space as parity bit <p>Definition at line <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html#l00217">217</a> of file <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html">usart.h</a>.</div></div><p><a class="anchor" name="cbf846773f58a382f10f8daf94797059"></a><!-- doxytag: member="usart.h::USART_SUCCESS" ref="cbf846773f58a382f10f8daf94797059" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">#define USART_SUCCESS 0 </td> </tr> </table></div><div class="memdoc"><p>Value returned by function when it completed successfully <p>Definition at line <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html#l00189">189</a> of file <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html">usart.h</a>.<p>Referenced by <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00431">usart_bw_write_char()</a>, <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00163">usart_init_handshaking()</a>, <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00204">usart_init_IrDA()</a>, <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00280">usart_init_iso7816()</a>, <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00228">usart_init_modem()</a>, <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00095">usart_init_rs232()</a>, <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00253">usart_init_rs485()</a>, <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00484">usart_putchar()</a>, <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00451">usart_read_char()</a>, <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00408">usart_send_address()</a>, <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00048">usart_set_baudrate()</a>, and <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00439">usart_write_char()</a>.</div></div><p><a class="anchor" name="481df5bfed5fec78ff5697b335ab5947"></a><!-- doxytag: member="usart.h::USART_TX_BUSY" ref="481df5bfed5fec78ff5697b335ab5947" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">#define USART_TX_BUSY 2 </td> </tr> </table></div><div class="memdoc"><p>Value returned by transmission function when transmitter was busy <p>Definition at line <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html#l00197">197</a> of file <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html">usart.h</a>.</div></div><p><hr><h2>Function Documentation</h2><a class="anchor" name="6742a3db6c2d4cf16295223932d33df5"></a><!-- doxytag: member="usart.h::usart_bw_write_char" ref="6742a3db6c2d4cf16295223932d33df5" args="(volatile avr32_usart_t *usart, int c)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void usart_bw_write_char </td> <td>(</td> <td class="paramtype">volatile avr32_usart_t * </td> <td class="paramname"> <em>usart</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>c</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [inline]</code></td> </tr> </table></div><div class="memdoc"><p>A busy wait for writing a character to the usart. Use with *caution* <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>*usart</em> </td><td>Base address of the usart </td></tr> <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>The character (up to 9 bits) to transmit </td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>None </dd></dl><p>Definition at line <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00431">431</a> of file <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html">usart.c</a>.<p>References <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html#l00189">USART_SUCCESS</a>, and <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00439">usart_write_char()</a>.<div class="fragment"><pre class="fragment"><a name="l00432"></a>00432 {<a name="l00433"></a>00433 <span class="keywordflow">while</span> (<a class="code" href="testsuite_2bravo__validation_2usart_2usart_8c.html#0c36f4b2ec5445212642ee7f94672805">usart_write_char</a>(usart, c) != <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8h.html#cbf846773f58a382f10f8daf94797059">USART_SUCCESS</a>) {<a name="l00434"></a>00434 }<a name="l00435"></a>00435 <a name="l00436"></a>00436 <span class="keywordflow">return</span>;<a name="l00437"></a>00437 }</pre></div><p><p>Here is the call graph for this function:</div></div><p><a class="anchor" name="a751e180b091943b684b48c581aaef3e"></a><!-- doxytag: member="usart.h::usart_getchar" ref="a751e180b091943b684b48c581aaef3e" args="(volatile avr32_usart_t *usart)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">int usart_getchar </td> <td>(</td> <td class="paramtype">volatile avr32_usart_t * </td> <td class="paramname"> <em>usart</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Wait until a character is recevied, and return this. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>*usart</em> </td><td>Base address of the usart </td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>The received character, or -1 upon error </dd></dl><p>Definition at line <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00471">471</a> of file <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html">usart.c</a>.<p>References <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00451">usart_read_char()</a>, <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8h-source.html#l00037">USART_RX_EMPTY</a>, and <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8h-source.html#l00039">USART_RX_ERROR</a>.<div class="fragment"><pre class="fragment"><a name="l00472"></a>00472 {<a name="l00473"></a>00473 <span class="keywordtype">int</span> c, ret;<a name="l00474"></a>00474 <span class="keywordflow">while</span> (((ret = <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8c.html#b73fc2f42bd6fe66c03d598b0158436d">usart_read_char</a>(usart, &c)) == <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html#deb9432170d2d09a4ffbb098a1b4335e">USART_RX_EMPTY</a>)) {<a name="l00475"></a>00475 }<a name="l00476"></a>00476 <a name="l00477"></a>00477 <span class="keywordflow">if</span> (ret == <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html#ffa1a7abf4e6ce54c0b64cc0826f8b4d">USART_RX_ERROR</a>)<a name="l00478"></a>00478 <span class="keywordflow">return</span> -1;<a name="l00479"></a>00479 <span class="keywordflow">else</span><a name="l00480"></a>00480 <span class="keywordflow">return</span> c;<a name="l00481"></a>00481 }</pre></div><p><p>Here is the call graph for this function:</div></div><p><a class="anchor" name="093c5ad113e1ab43603c0d815ad8dc54"></a><!-- doxytag: member="usart.h::usart_init_rs232" ref="093c5ad113e1ab43603c0d815ad8dc54" args="(volatile avr32_usart_t *usart, struct usart_options_t *opt, long cpu_hz)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">int usart_init_rs232 </td> <td>(</td> <td class="paramtype">volatile avr32_usart_t * </td> <td class="paramname"> <em>usart</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structusart__options__t.html">usart_options_t</a> * </td> <td class="paramname"> <em>opt</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">long </td> <td class="paramname"> <em>cpu_hz</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Setup the usart to use the standard RS232 protocol <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>*usart</em> </td><td>Base address of the usart </td></tr> <tr><td valign="top"></td><td valign="top"><em>*opt</em> </td><td>Options needed to set up RS232 communcation (see <a class="el" href="structusart__options__t.html">usart_options_t</a>) </td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>USART_SUCCESS or USART_INVALID_INPUT </dd></dl><p>Definition at line <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00095">95</a> of file <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html">usart.c</a>.<p>References <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8h-source.html#l00102">usart_options_t::baudrate</a>, <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8h-source.html#l00129">usart_options_t::channelmode</a>, <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8h-source.html#l00107">usart_options_t::charlength</a>, <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8h-source.html#l00114">usart_options_t::paritytype</a>, <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8h-source.html#l00122">usart_options_t::stopbits</a>, <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html#l00194">USART_INVALID_INPUT</a>, <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8c-source.html#l00027">usart_reset()</a>, <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8c-source.html#l00065">usart_set_baudrate()</a>, and <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html#l00189">USART_SUCCESS</a>.<div class="fragment"><pre class="fragment"><a name="l00096"></a>00096 {<a name="l00097"></a>00097 <span class="keywordtype">int</span> retval;<a name="l00098"></a>00098 <a name="l00099"></a>00099 <span class="comment">/* Reset the usart and shutdown RX and TX */</span><a name="l00100"></a>00100 <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8c.html#31cf4d67fd204fb4684fff9d7994cb4c">usart_reset</a>(usart);<a name="l00101"></a>00101 <a name="l00102"></a>00102 <span class="comment">/* Control input values */</span><a name="l00103"></a>00103 <span class="keywordflow">if</span> (opt == 0) <span class="comment">/* Null pointer */</span><a name="l00104"></a>00104 <span class="keywordflow">return</span> <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8h.html#50b4e9378f434da8823badca3af2f15d">USART_INVALID_INPUT</a>;<a name="l00105"></a>00105 <span class="keywordflow">if</span> (opt-><a class="code" href="structusart__options__t.html#a6b77cc05829d2e70ee7f96194c6ce23">charlength</a> < 5 || opt-><a class="code" href="structusart__options__t.html#a6b77cc05829d2e70ee7f96194c6ce23">charlength</a> > 9)<a name="l00106"></a>00106 <span class="keywordflow">return</span> <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8h.html#50b4e9378f434da8823badca3af2f15d">USART_INVALID_INPUT</a>;<a name="l00107"></a>00107 <span class="keywordflow">if</span> (opt-><a class="code" href="structusart__options__t.html#85401f7a6f516a5883adc0538dc27f8e">paritytype</a> > 7)<a name="l00108"></a>00108 <span class="keywordflow">return</span> <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8h.html#50b4e9378f434da8823badca3af2f15d">USART_INVALID_INPUT</a>;<a name="l00109"></a>00109 <span class="keywordflow">if</span> (opt-><a class="code" href="structusart__options__t.html#433a6ede2186d42b4cf19ef4b370cd61">stopbits</a> > 2+255)<a name="l00110"></a>00110 <span class="keywordflow">return</span> <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8h.html#50b4e9378f434da8823badca3af2f15d">USART_INVALID_INPUT</a>;<a name="l00111"></a>00111 <span class="keywordflow">if</span> (opt-><a class="code" href="structusart__options__t.html#0dc365b8779891743180e9b69116f5ea">channelmode</a> > 3)<a name="l00112"></a>00112 <span class="keywordflow">return</span> <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8h.html#50b4e9378f434da8823badca3af2f15d">USART_INVALID_INPUT</a>;<a name="l00113"></a>00113 <a name="l00114"></a>00114 <span class="keywordflow">if</span> ((retval = <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8c.html#38c10272f6d0b8e873a213dd39d5d1cf">usart_set_baudrate</a>(usart, opt-><a class="code" href="structusart__options__t.html#276ad428776a25b8247762bd2c82b35b">baudrate</a>, cpu_hz)) !
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -