usart_8c.html.svn-base

来自「avr32100.zip Embedded demo」· SVN-BASE 代码 · 共 1,007 行 · 第 1/5 页

SVN-BASE
1,007
字号
  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><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>&nbsp;</td><td>Base address of the usart </td></tr>  </table></dl><dl compact><dt><b>Returns:</b></dt><dd>The received character, or -1 upon error </dd></dl><p>Definition at line <a class="el" href="usart_8c-source.html#l00524">524</a> of file <a class="el" href="usart_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="l00525"></a>00525 {<a name="l00526"></a>00526         <span class="keywordtype">int</span> c, ret;<a name="l00527"></a>00527 <a name="l00528"></a>00528         <span class="keywordflow">while</span> (((ret = <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8c.html#b73fc2f42bd6fe66c03d598b0158436d">usart_read_char</a>(usart, &amp;c)) == <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html#deb9432170d2d09a4ffbb098a1b4335e">USART_RX_EMPTY</a>)) {<a name="l00529"></a>00529         }<a name="l00530"></a>00530 <a name="l00531"></a>00531         <span class="keywordflow">if</span> (ret == <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html#ffa1a7abf4e6ce54c0b64cc0826f8b4d">USART_RX_ERROR</a>)<a name="l00532"></a>00532                 <span class="keywordflow">return</span> -1;<a name="l00533"></a>00533         <span class="keywordflow">else</span><a name="l00534"></a>00534                 <span class="keywordflow">return</span> c;<a name="l00535"></a>00535 }</pre></div><p><p>Here is the call graph for this function:<p><center><img src="usart_8c_ad19b20067ca5ccf90d584e3b09ab02a_cgraph.png" border="0" usemap="#usart_8c_ad19b20067ca5ccf90d584e3b09ab02a_cgraph_map" alt=""></center><map name="usart_8c_ad19b20067ca5ccf90d584e3b09ab02a_cgraph_map"><area href="testsuite_2bravo__validation_2usart_2usart_8c.html#b73fc2f42bd6fe66c03d598b0158436d" shape="rect" coords="161,8,278,32" alt=""></map>    </td>  </tr></table><a class="anchor" name="54b39126c57d8c1511a1f199b681a8eb"></a><!-- doxytag: member="usart.c::usart_init_handshaking" ref="54b39126c57d8c1511a1f199b681a8eb" args="(volatile struct avr32_usart_t *usart, struct usart_options_t *opt, long cpu_hz, int software_handshaking, char xon_char, char xoff_char)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top">int usart_init_handshaking           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">volatile struct avr32_usart_t *&nbsp;</td>          <td class="mdname" nowrap> <em>usart</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>struct <a class="el" href="structusart__options__t.html">usart_options_t</a> *&nbsp;</td>          <td class="mdname" nowrap> <em>opt</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>long&nbsp;</td>          <td class="mdname" nowrap> <em>cpu_hz</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>int&nbsp;</td>          <td class="mdname" nowrap> <em>software_handshaking</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>char&nbsp;</td>          <td class="mdname" nowrap> <em>xon_char</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>char&nbsp;</td>          <td class="mdname" nowrap> <em>xoff_char</em></td>        </tr>        <tr>          <td class="md"></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p><p>Definition at line <a class="el" href="usart_8c-source.html#l00220">220</a> of file <a class="el" href="usart_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_2usart_2usart_8h-source.html#l00194">USART_INVALID_INPUT</a>, <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8h-source.html#l00068">USART_MODE_HW_HSH</a>, <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8h-source.html#l00078">USART_MODE_SW_HSH</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="l00223"></a>00223 {<a name="l00224"></a>00224         <span class="keywordtype">int</span> retval;<a name="l00225"></a>00225 <a name="l00226"></a>00226         <span class="comment">/* First: Setup standard RS323 */</span><a name="l00227"></a>00227         <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="l00228"></a>00228                 <span class="keywordflow">return</span> retval;<a name="l00229"></a>00229 <a name="l00230"></a>00230         <span class="keywordflow">if</span> (software_handshaking == 0)<a name="l00231"></a>00231         {<a name="l00232"></a>00232                 <span class="comment">/* Clear previous mode */</span><a name="l00233"></a>00233                 usart-&gt; mr &amp;= ~(0xf &lt;&lt; AVR32_USART_MR_USART_MODE_OFFSET);<a name="l00234"></a>00234                 <span class="comment">/* Hardware handshaking */</span><a name="l00235"></a>00235                 usart-&gt; mr |= (<a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html#20f58bd59d4177ad2981c8fa338a95af">USART_MODE_HW_HSH</a> &lt;&lt; AVR32_USART_MR_USART_MODE_OFFSET);<a name="l00236"></a>00236         }<a name="l00237"></a>00237         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (software_handshaking == 1)<a name="l00238"></a>00238         {<a name="l00239"></a>00239                 <span class="comment">/* Clear previous mode */</span><a name="l00240"></a>00240                 usart-&gt; mr &amp;= ~(0xf &lt;&lt; AVR32_USART_MR_USART_MODE_OFFSET);<a name="l00241"></a>00241                 <span class="comment">/* Software handshaking */</span><a name="l00242"></a>00242                 usart-&gt; mr |= (<a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html#1af49d7b84d7323c6842945413559e94">USART_MODE_SW_HSH</a> &lt;&lt; AVR32_USART_MR_USART_MODE_OFFSET);<a name="l00243"></a>00243                 <span class="comment">/* Set XON and XOFF characters */</span><a name="l00244"></a>00244                 usart-&gt;xxr = (xon_char &lt;&lt; AVR32_USART_XXR_XON_OFFSET) |<a name="l00245"></a>00245                              (xoff_char &lt;&lt; AVR32_USART_XXR_XOFF_OFFSET);<a name="l00246"></a>00246         }<a name="l00247"></a>00247         <span class="keywordflow">else</span><a name="l00248"></a>00248                 <span class="keywordflow">return</span> <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8h.html#50b4e9378f434da8823badca3af2f15d">USART_INVALID_INPUT</a>;<a name="l00249"></a>00249 <a name="l00250"></a>00250         <span class="keywordflow">return</span> <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8h.html#cbf846773f58a382f10f8daf94797059">USART_SUCCESS</a>;<a name="l00251"></a>00251 }</pre></div><p><p>Here is the call graph for this function:<p><center><img src="usart_8c_54b39126c57d8c1511a1f199b681a8eb_cgraph.png" border="0" usemap="#usart_8c_54b39126c57d8c1511a1f199b681a8eb_cgraph_map" alt=""></center><map name="usart_8c_54b39126c57d8c1511a1f199b681a8eb_cgraph_map"><area href="testsuite_2bravo__validation_2usart_2usart_8c.html#093c5ad113e1ab43603c0d815ad8dc54" shape="rect" coords="215,8,333,32" alt=""></map>    </td>  </tr></table><a class="anchor" name="8db29da20412777c74c322d0fae89ecb"></a><!-- doxytag: member="usart.c::usart_init_IrDA" ref="8db29da20412777c74c322d0fae89ecb" args="(volatile struct avr32_usart_t *usart, struct usart_options_t *opt, long cpu_hz, unsigned char irda_filter)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top">int usart_init_IrDA           </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">volatile struct avr32_usart_t *&nbsp;</td>          <td class="mdname" nowrap> <em>usart</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>struct <a class="el" href="structusart__options__t.html">usart_options_t</a> *&nbsp;</td>          <td class="mdname" nowrap> <em>opt</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>long&nbsp;</td>          <td class="mdname" nowrap> <em>cpu_hz</em>, </td>        </tr>        <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>unsigned char&nbsp;</td>          <td class="mdname" nowrap> <em>irda_filter</em></td>        </tr>        <tr>          <td class="md"></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p><p>Definition at line <a class="el" href="usart_8c-source.html#l00261">261</a> of file <a class="el" href="usart_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>, 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="l00263"></a>00263 {<a name="l00264"></a>00264         <span class="keywordtype">int</span> retval;<a name="l00265"></a>00265 <a name="l00266"></a>00266         <span class="comment">/* First: Setup standard RS323 */</span><a name="l00267"></a>00267         <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="l00268"></a>00268                 <span class="keywordflow">return</span> retval;<a name="l00269"></a>00269 <a name="l00270"></a>00270         <span class="comment">/* Set IrDA counter */</span>

⌨️ 快捷键说明

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