📄 testsuite_2bravo__validation_2usart_2usart_8c.html
字号:
<a name="l00123"></a>00123 usart->mr |=<a name="l00124"></a>00124 ((opt-><a class="code" href="structusart__options__t.html#a6b77cc05829d2e70ee7f96194c6ce23">charlength</a>-5) << AVR32_USART_MR_CHRL_OFFSET);<a name="l00125"></a>00125 }<a name="l00126"></a>00126 <a name="l00127"></a>00127 usart->mr |= (opt-><a class="code" href="structusart__options__t.html#0dc365b8779891743180e9b69116f5ea">channelmode</a> << AVR32_USART_MR_CHMODE_OFFSET) |<a name="l00128"></a>00128 (opt-><a class="code" href="structusart__options__t.html#85401f7a6f516a5883adc0538dc27f8e">paritytype</a> << AVR32_USART_MR_PAR_OFFSET);<a name="l00129"></a>00129 <a name="l00130"></a>00130 <span class="keywordflow">if</span> (opt-><a class="code" href="structusart__options__t.html#433a6ede2186d42b4cf19ef4b370cd61">stopbits</a> > 2)<a name="l00131"></a>00131 {<a name="l00132"></a>00132 <span class="comment">/* Set two stop bits */</span><a name="l00133"></a>00133 usart->mr |= (2 << AVR32_USART_MR_NBSTOP_OFFSET);<a name="l00134"></a>00134 <span class="comment">/* And a timeguard period gives the rest */</span><a name="l00135"></a>00135 usart->ttgr = (opt-><a class="code" href="structusart__options__t.html#433a6ede2186d42b4cf19ef4b370cd61">stopbits</a>-2);<a name="l00136"></a>00136 }<a name="l00137"></a>00137 <span class="keywordflow">else</span><a name="l00138"></a>00138 <span class="comment">/* Insert 1, 1.5 or 2 stop bits */</span><a name="l00139"></a>00139 usart->mr |= (opt-><a class="code" href="structusart__options__t.html#433a6ede2186d42b4cf19ef4b370cd61">stopbits</a> << AVR32_USART_MR_NBSTOP_OFFSET);<a name="l00140"></a>00140 <a name="l00141"></a>00141 <span class="comment">/* Setup complete; enable communication */</span><a name="l00142"></a>00142 <span class="comment">/* Enable input and output */</span><a name="l00143"></a>00143 usart->cr |= (1<<AVR32_USART_CR_TXEN_OFFSET) |<a name="l00144"></a>00144 (1<<AVR32_USART_CR_RXEN_OFFSET);<a name="l00145"></a>00145 <a name="l00146"></a>00146 <span class="keywordflow">return</span> <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8h.html#cbf846773f58a382f10f8daf94797059">USART_SUCCESS</a>;<a name="l00147"></a>00147 }</pre></div><p></div></div><p><a class="anchor" name="036dbbb86557bfc093656d58cd9c8417"></a><!-- doxytag: member="usart.c::usart_init_rs485" ref="036dbbb86557bfc093656d58cd9c8417" 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_rs485 </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><p>Definition at line <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00253">253</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#l00095">usart_init_rs232()</a>, <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8h-source.html#l00066">USART_MODE_RS485</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="l00254"></a>00254 {<a name="l00255"></a>00255 <span class="keywordtype">int</span> retval;<a name="l00256"></a>00256 <a name="l00257"></a>00257 <span class="comment">/* First: Setup standard RS323 */</span><a name="l00258"></a>00258 <span class="keywordflow">if</span> ((retval = <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8c.html#093c5ad113e1ab43603c0d815ad8dc54">usart_init_rs232</a>(usart, opt, cpu_hz)) != <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8h.html#cbf846773f58a382f10f8daf94797059">USART_SUCCESS</a>)<a name="l00259"></a>00259 <span class="keywordflow">return</span> retval;<a name="l00260"></a>00260 <a name="l00261"></a>00261 <span class="comment">// if (opt->paritytype < 6)</span><a name="l00262"></a>00262 <span class="comment">// /* RS485 need multidrop parity (6|7) */</span><a name="l00263"></a>00263 <span class="comment">// return USART_MODE_FAULT;</span><a name="l00264"></a>00264 <a name="l00265"></a>00265 <span class="comment">/* Clear previous mode */</span><a name="l00266"></a>00266 usart->mr &= ~(0xf << AVR32_USART_MR_USART_MODE_OFFSET);<a name="l00267"></a>00267 <span class="comment">/* Set Modem mode */</span><a name="l00268"></a>00268 usart->mr |= (<a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html#a2946a63275da85d3b578044a88bbd7d">USART_MODE_RS485</a> << AVR32_USART_MR_USART_MODE_OFFSET);<a name="l00269"></a>00269 <span class="keywordflow">return</span> <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8h.html#cbf846773f58a382f10f8daf94797059">USART_SUCCESS</a>;<a name="l00270"></a>00270 }</pre></div><p><p>Here is the call graph for this function:</div></div><p><a class="anchor" name="cc362133839fdd80c3a8c484ccda0cc6"></a><!-- doxytag: member="usart.c::usart_mode_is_multidrop" ref="cc362133839fdd80c3a8c484ccda0cc6" args="(volatile avr32_usart_t *usart)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">static int usart_mode_is_multidrop </td> <td>(</td> <td class="paramtype">volatile avr32_usart_t * </td> <td class="paramname"> <em>usart</em> </td> <td> ) </td> <td width="100%"><code> [static]</code></td> </tr> </table></div><div class="memdoc"><p><p>Definition at line <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00008">8</a> of file <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html">usart.c</a>.<p>Referenced by <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00408">usart_send_address()</a>.<div class="fragment"><pre class="fragment"><a name="l00009"></a>00009 {<a name="l00010"></a>00010 <span class="keywordflow">return</span> (((usart->mr & 0x00000600)>>(AVR32_USART_MR_PAR_OFFSET+1)) == 3);<a name="l00011"></a>00011 }</pre></div><p></div></div><p><a class="anchor" name="4aadffc324ff58ec1e77ca53cc67b5ff"></a><!-- doxytag: member="usart.c::usart_overrun_error" ref="4aadffc324ff58ec1e77ca53cc67b5ff" args="(volatile avr32_usart_t *usart)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">int usart_overrun_error </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><p>Definition at line <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00384">384</a> of file <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html">usart.c</a>.<div class="fragment"><pre class="fragment"><a name="l00385"></a>00385 {<a name="l00386"></a>00386 <span class="keywordflow">return</span> ((usart->csr & AVR32_USART_CSR_OVRE_OFFSET)) != 0;<a name="l00387"></a>00387 }</pre></div><p></div></div><p><a class="anchor" name="f8545b625339cd0c1f27dd467f9ff673"></a><!-- doxytag: member="usart.c::usart_parity_error" ref="f8545b625339cd0c1f27dd467f9ff673" args="(volatile avr32_usart_t *usart)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">int usart_parity_error </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><p>Definition at line <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00362">362</a> of file <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html">usart.c</a>.<div class="fragment"><pre class="fragment"><a name="l00363"></a>00363 {<a name="l00364"></a>00364 <span class="keywordflow">return</span> ((usart->csr & (1<<AVR32_USART_CSR_PARE_OFFSET)) != 0);<a name="l00365"></a>00365 }</pre></div><p></div></div><p><a class="anchor" name="2ff96c7ceba22b5663bee08da4633ed9"></a><!-- doxytag: member="usart.c::usart_putchar" ref="2ff96c7ceba22b5663bee08da4633ed9" args="(volatile avr32_usart_t *usart, int c)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">int usart_putchar </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>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -