⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testsuite_2bravo__validation_2pdc_2usart_8c.html

📁 avr32100.zip Embedded demo
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<a name="l00164"></a>00164         <span class="keywordflow">if</span>( opt-&gt;<a class="code" href="structusart__options__t.html#433a6ede2186d42b4cf19ef4b370cd61">stopbits</a> &gt; 2 ) {<a name="l00165"></a>00165                 <span class="comment">/* set two stop bits */</span><a name="l00166"></a>00166                 usart-&gt;mr |= (2 &lt;&lt; AVR32_USART_MR_NBSTOP_OFFSET);<a name="l00167"></a>00167                 <span class="comment">/* and a timeguard period gives the rest */</span><a name="l00168"></a>00168                 usart-&gt;ttgr = (opt-&gt;<a class="code" href="structusart__options__t.html#433a6ede2186d42b4cf19ef4b370cd61">stopbits</a>-2);<a name="l00169"></a>00169         } <span class="keywordflow">else</span> {<a name="l00170"></a>00170                 <span class="comment">/* insert 1, 1.5 or 2 stop bits */</span><a name="l00171"></a>00171                 usart-&gt;mr |= (opt-&gt;<a class="code" href="structusart__options__t.html#433a6ede2186d42b4cf19ef4b370cd61">stopbits</a> &lt;&lt; AVR32_USART_MR_NBSTOP_OFFSET);<a name="l00172"></a>00172         }<a name="l00173"></a>00173 <a name="l00174"></a>00174         <span class="comment">/* enable TX and RX */</span><a name="l00175"></a>00175         usart-&gt;cr |= (1&lt;&lt;AVR32_USART_CR_TXEN_OFFSET) |<a name="l00176"></a>00176                      (1&lt;&lt;AVR32_USART_CR_RXEN_OFFSET);<a name="l00177"></a>00177 <a name="l00178"></a>00178         <span class="keywordflow">return</span> <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html#2067a9071b47751aad8456bddf70b913">USART_OK</a>;<a name="l00179"></a>00179 }</pre></div><p><p>Here is the call graph for this function:</div></div><p><a class="anchor" name="d8d5a1b7705f01b3ace3de0948930600"></a><!-- doxytag: member="usart.c::usart_putchar" ref="d8d5a1b7705f01b3ace3de0948930600" args="(volatile avr32_usart_t *usart, int character)" --><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 *&nbsp;</td>          <td class="paramname"> <em>usart</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">int&nbsp;</td>          <td class="paramname"> <em>character</em></td><td>&nbsp;</td>        </tr>        <tr>          <td></td>          <td>)</td>          <td></td><td></td><td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>Send a character with the usart. <p><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>&nbsp;</td><td>base address of the usart </td></tr>    <tr><td valign="top"></td><td valign="top"><em>character</em>&nbsp;</td><td>character to write</td></tr>  </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>status </dd></dl><dl compact><dt><b>Return values:</b></dt><dd>  <table border="0" cellspacing="2" cellpadding="0">    <tr><td valign="top"></td><td valign="top"><em>USART_OK</em>&nbsp;</td><td>on success </td></tr>    <tr><td valign="top"></td><td valign="top"><em>USART_TX_BUSY</em>&nbsp;</td><td>on timeout </td></tr>  </table></dl><p>Definition at line <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8c-source.html#l00191">191</a> of file <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8c-source.html">usart.c</a>.<p>Referenced by <a class="el" href="print__funcs_8c-source.html#l00043">print()</a>, <a class="el" href="print__funcs_8c-source.html#l00050">print_char()</a>, <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00506">usart_write_line()</a>, and <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8c-source.html#l00218">usart_writeLine()</a>.<div class="fragment"><pre class="fragment"><a name="l00192"></a>00192 {<a name="l00193"></a>00193         <span class="keywordtype">int</span> timeout = <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html#c8dc7a35914ec78bd7382630499bd856">USART_DEFAULT_TIMEOUT</a>;<a name="l00194"></a>00194 <a name="l00195"></a>00195         <span class="keywordflow">do</span> {<a name="l00196"></a>00196                 --timeout;<a name="l00197"></a>00197         } <span class="keywordflow">while</span>( (usart-&gt;csr &amp; (1&lt;&lt;AVR32_USART_CSR_TXRDY_OFFSET)) == 0 &amp;&amp; timeout &gt; 0 );<a name="l00198"></a>00198 <a name="l00199"></a>00199         <span class="keywordflow">if</span>( timeout == 0 ) {<a name="l00200"></a>00200                 <span class="keywordflow">return</span> <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html#481df5bfed5fec78ff5697b335ab5947">USART_TX_BUSY</a>;<a name="l00201"></a>00201         }<a name="l00202"></a>00202 <a name="l00203"></a>00203         usart-&gt;thr = character;<a name="l00204"></a>00204 <a name="l00205"></a>00205         <span class="keywordflow">return</span> <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html#2067a9071b47751aad8456bddf70b913">USART_OK</a>;<a name="l00206"></a>00206 }</pre></div><p></div></div><p><a class="anchor" name="31cf4d67fd204fb4684fff9d7994cb4c"></a><!-- doxytag: member="usart.c::usart_reset" ref="31cf4d67fd204fb4684fff9d7994cb4c" args="(volatile avr32_usart_t *usart)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">void usart_reset           </td>          <td>(</td>          <td class="paramtype">volatile avr32_usart_t *&nbsp;</td>          <td class="paramname"> <em>usart</em>          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p>This function will reset the USART, and disable TX and RX. <p><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>&nbsp;</td><td>Base address of the usart </td></tr>  </table></dl><p>Definition at line <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8c-source.html#l00027">27</a> of file <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8c-source.html">usart.c</a>.<p>Referenced by <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8c-source.html#l00120">usart_init2()</a>, <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00280">usart_init_iso7816()</a>, and <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00095">usart_init_rs232()</a>.<div class="fragment"><pre class="fragment"><a name="l00028"></a>00028 {<a name="l00029"></a>00029         <span class="comment">/* Disable all usart interrupts, interrupts needed should be set</span><a name="l00030"></a>00030 <span class="comment">           explicitly on every reset */</span><a name="l00031"></a>00031         usart-&gt;idr = 0xFFFFffff;<a name="l00032"></a>00032 <a name="l00033"></a>00033         <span class="comment">/* Reset mode and other registers that could cause unpredictable</span><a name="l00034"></a>00034 <span class="comment">           behaviour after reset */</span><a name="l00035"></a>00035         usart-&gt;mr = 0;<a name="l00036"></a>00036         usart-&gt;rtor = 0;<a name="l00037"></a>00037         usart-&gt;ttgr = 0;<a name="l00038"></a>00038 <a name="l00039"></a>00039         <span class="comment">/* Shutdown RX and TX (will be reenabled when setup</span><a name="l00040"></a>00040 <span class="comment">           is completed successfully), reset status bits and turn</span><a name="l00041"></a>00041 <span class="comment">           off DTR and RTS */</span><a name="l00042"></a>00042         usart-&gt;cr = (1&lt;&lt;AVR32_USART_CR_RSTRX_OFFSET)|<a name="l00043"></a>00043                     (1&lt;&lt;AVR32_USART_CR_RSTTX_OFFSET)|<a name="l00044"></a>00044                     (1&lt;&lt;AVR32_USART_CR_RSTSTA_OFFSET)|<a name="l00045"></a>00045                     (1&lt;&lt;AVR32_USART_CR_RSTIT_OFFSET)|<a name="l00046"></a>00046                     (1&lt;&lt;AVR32_USART_CR_RSTNACK_OFFSET)|<a name="l00047"></a>00047                     (1&lt;&lt;AVR32_USART_CR_DTRDIS_OFFSET)|<a name="l00048"></a>00048                     (1&lt;&lt;AVR32_USART_CR_RTSDIS_OFFSET);<a name="l00049"></a>00049 }</pre></div><p></div></div><p><a class="anchor" name="38c10272f6d0b8e873a213dd39d5d1cf"></a><!-- doxytag: member="usart.c::usart_set_baudrate" ref="38c10272f6d0b8e873a213dd39d5d1cf" args="(volatile avr32_usart_t *usart, unsigned int baudrate, long cpuHz)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">static int usart_set_baudrate           </td>          <td>(</td>          <td class="paramtype">volatile avr32_usart_t *&nbsp;</td>          <td class="paramname"> <em>usart</em>, </td>        </tr>        <tr>          <td class="paramkey"></td>          <td></td>          <td class="paramtype">unsigned int&nbsp;</td>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -