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

📄 usart__example3_8c.html

📁 avr32100.zip Embedded demo
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>AVR321000 Communication with the AVR32 USART: testsuite/bravo_validation/usart/usart_example3.c File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.1 --><div class="tabs">  <ul>    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>    <li id="current"><a href="files.html"><span>Files</span></a></li>    <li><a href="dirs.html"><span>Directories</span></a></li>    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>  </ul></div><div class="tabs">  <ul>    <li><a href="files.html"><span>File&nbsp;List</span></a></li>    <li><a href="globals.html"><span>Globals</span></a></li>  </ul></div><div class="nav"><a class="el" href="dir_ed041fa8052270846d9a0dab17b0d151.html">testsuite</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_18e6971fa792d4606dff45a531675719.html">bravo_validation</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_7f7ec19554deddf0beb795c9218a445b.html">usart</a></div><h1>usart_example3.c File Reference</h1><p><code>#include &lt;avr32/io.h&gt;</code><br><code>#include &lt;avr32/intc.h&gt;</code><br><code>#include &lt;sys/interrupts.h&gt;</code><br><code>#include &quot;<a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html">usart.h</a>&quot;</code><br><code>#include &quot;<a class="el" href="pio_8h-source.html">../pio/pio.h</a>&quot;</code><br><code>#include &quot;<a class="el" href="print__funcs_8h-source.html">../debug/print_funcs.h</a>&quot;</code><br><code>#include &quot;<a class="el" href="macro_8h-source.html">../inc/macro.h</a>&quot;</code><br><code>#include &quot;<a class="el" href="pdc_8h-source.html">../pdc/pdc.h</a>&quot;</code><br><p>Include dependency graph for usart_example3.c:<p><a href="usart__example3_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usart__example3_8c.html#a65e5f6cbdd70191cfbdcbaa3e7c8b81">USART_ADDR</a>&nbsp;&nbsp;&nbsp;AVR32_USART2_ADDRESS</td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usart__example3_8c.html#840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usart__example3_8c.html#adaf55c86546e04acd914ff9ebe2eaa8">tick_delay</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">__int_handler *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usart__example3_8c.html#08388dbb7976d29110e12e367cff7076">usart_int_handler</a> ()</td></tr><tr><td colspan="2"><br><h2>Variables</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usart__example3_8c.html#672ea50590e23f995b0f9cbfcbfe36c2">usart_rx_buf</a> = &quot;1234&quot;</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usart__example3_8c.html#1e07f7ff9d3d3721b835bb90b04a6c13">usart_rx_buf_size</a> = 4</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usart__example3_8c.html#4c3c9d9f376c4e3d0be3084245cff33e">usart_tx_buf</a> = &quot;From pdc: Type 4 chars&quot;</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="usart__example3_8c.html#2bc6d145fa800004322ccd4de47d869b">usart_tx_buf_size</a> = 22</td></tr></table><hr><h2>Define Documentation</h2><a class="anchor" name="a65e5f6cbdd70191cfbdcbaa3e7c8b81"></a><!-- doxytag: member="usart_example3.c::USART_ADDR" ref="a65e5f6cbdd70191cfbdcbaa3e7c8b81" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">#define USART_ADDR&nbsp;&nbsp;&nbsp;AVR32_USART2_ADDRESS          </td>        </tr>      </table></div><div class="memdoc"><p><p>Definition at line <a class="el" href="usart__example3_8c-source.html#l00020">20</a> of file <a class="el" href="usart__example3_8c-source.html">usart_example3.c</a>.</div></div><p><hr><h2>Function Documentation</h2><a class="anchor" name="840291bc02cba5474a4cb46a9b9566fe"></a><!-- doxytag: member="usart_example3.c::main" ref="840291bc02cba5474a4cb46a9b9566fe" args="(void)" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">int main           </td>          <td>(</td>          <td class="paramtype">void&nbsp;</td>          <td class="paramname">          </td>          <td>&nbsp;)&nbsp;</td>          <td width="100%"></td>        </tr>      </table></div><div class="memdoc"><p><p>Definition at line <a class="el" href="usart__example3_8c-source.html#l00047">47</a> of file <a class="el" href="usart__example3_8c-source.html">usart_example3.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="pdc_8c-source.html#l00074">pdc_enable()</a>, <a class="el" href="pdc_8c-source.html#l00138">pdc_setRxBuf()</a>, <a class="el" href="pdc_8c-source.html#l00195">pdc_setTxBuf()</a>, <a class="el" href="pdc_8c-source.html#l00333">pdc_translatePtr()</a>, <a class="el" href="pio_8c-source.html#l00022">pio_enable_module()</a>, <a class="el" href="print__funcs_8c-source.html#l00043">print()</a>, <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8h-source.html#l00122">usart_options_t::stopbits</a>, <a class="el" href="usart__example3_8c-source.html#l00102">tick_delay()</a>, <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8h-source.html#l00090">USART_1_STOPBIT</a>, <a class="el" href="usart__example1_8c-source.html#l00015">USART_ADDR</a>, <a class="el" href="testsuite_2bravo__validation_2usart_2usart_8c-source.html#l00095">usart_init_rs232()</a>, <a class="el" href="usart__example1_8c-source.html#l00018">usart_int_handler()</a>, <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8h-source.html#l00059">USART_NO_PARITY</a>, <a class="el" href="testsuite_2bravo__validation_2pdc_2usart_8h-source.html#l00081">USART_NORMAL_CHMODE</a>, <a class="el" href="usart__example3_8c-source.html#l00023">usart_rx_buf</a>, <a class="el" href="usart__example3_8c-source.html#l00024">usart_rx_buf_size</a>, <a class="el" href="usart__example3_8c-source.html#l00025">usart_tx_buf</a>, and <a class="el" href="usart__example3_8c-source.html#l00026">usart_tx_buf_size</a>.<div class="fragment"><pre class="fragment"><a name="l00048"></a>00048 {<a name="l00049"></a>00049   <span class="keywordtype">int</span> cpu_hz = 20000000;<a name="l00050"></a>00050 <a name="l00051"></a>00051   <span class="keyword">volatile</span> avr32_usart_t *usart = (<span class="keywordtype">void</span> *) <a class="code" href="usart__example1_8c.html#a65e5f6cbdd70191cfbdcbaa3e7c8b81">USART_ADDR</a>;<a name="l00052"></a>00052   <span class="keyword">struct </span><a class="code" href="structusart__options__t.html">usart_options_t</a> usart_opt;<a name="l00053"></a>00053 <a name="l00054"></a>00054   <a class="code" href="pio_8h.html#e3e4e5c4f0784fd66613f9aedffb758a">avr32_piomap_t</a> usart_piomap = {                               \<a name="l00055"></a>00055     {AVR32_USART2_RXD_0_PIN, AVR32_USART2_RXD_0_FUNCTION},      \<a name="l00056"></a>00056     {AVR32_USART2_TXD_0_PIN, AVR32_USART2_TXD_0_FUNCTION},      \<a name="l00057"></a>00057     {AVR32_USART0_CLK_0_PIN, AVR32_USART0_CLK_0_FUNCTION},      \<a name="l00058"></a>00058     {AVR32_USART0_CTS_0_PIN, AVR32_USART0_CTS_0_FUNCTION},      \<a name="l00059"></a>00059     {AVR32_USART0_RTS_0_PIN, AVR32_USART0_RTS_0_FUNCTION}       \<a name="l00060"></a>00060   };<a name="l00061"></a>00061 <a name="l00062"></a>00062 <a name="l00063"></a>00063   <span class="comment">/* Set options for the USART */</span><a name="l00064"></a>00064   usart_opt.<a class="code" href="structusart__options__t.html#276ad428776a25b8247762bd2c82b35b">baudrate</a> = 57600;<a name="l00065"></a>00065   usart_opt.<a class="code" href="structusart__options__t.html#a6b77cc05829d2e70ee7f96194c6ce23">charlength</a> = 8;<a name="l00066"></a>00066   usart_opt.<a class="code" href="structusart__options__t.html#85401f7a6f516a5883adc0538dc27f8e">paritytype</a> = <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html#0b656451a78c0f602ee8855d52c719a8">USART_NO_PARITY</a>;<a name="l00067"></a>00067   usart_opt.<a class="code" href="structusart__options__t.html#433a6ede2186d42b4cf19ef4b370cd61">stopbits</a> = <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html#f2d819c8836b2d7838ab501d36458969">USART_1_STOPBIT</a>;<a name="l00068"></a>00068   usart_opt.<a class="code" href="structusart__options__t.html#0dc365b8779891743180e9b69116f5ea">channelmode</a> = <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html#0bd9f61e5232af833543eac9419c2d70">USART_NORMAL_CHMODE</a>;<a name="l00069"></a>00069 <a name="l00070"></a>00070   <a class="code" href="pio_8c.html#dff43770b559efc90059e31144738b7e">pio_enable_module</a>( usart_piomap, 5 );<a name="l00071"></a>00071   <a class="code" href="testsuite_2bravo__validation_2usart_2usart_8c.html#093c5ad113e1ab43603c0d815ad8dc54">usart_init_rs232</a>( usart, &amp;usart_opt, cpu_hz);<a name="l00072"></a>00072   <a class="code" href="print__funcs_8c.html#6d8f6870ed871f3fac022cea8ad9240b">print</a>(usart, <span class="stringliteral">"\n\n.: USART PDC TEST :.\n"</span>);<a name="l00073"></a>00073 <a name="l00074"></a>00074   <span class="comment">/* Setup interrupts */</span><a name="l00075"></a>00075   set_interrupts_base( (<span class="keywordtype">void</span> *) AVR32_INTC_ADDRESS );<a name="l00076"></a>00076   <a class="code" href="print__funcs_8c.html#6d8f6870ed871f3fac022cea8ad9240b">print</a>(usart, <span class="stringliteral">"\nInitializing interrupts\n"</span>);<a name="l00077"></a>00077   register_interrupt( (__int_handler) (<a class="code" href="usart__example1_8c.html#08388dbb7976d29110e12e367cff7076">usart_int_handler</a>), AVR32_USART2_IRQ/32, AVR32_USART2_IRQ % 32, INT0);<a name="l00078"></a>00078   usart-&gt;ier = AVR32_USART_IER_ENDRX_MASK;<a name="l00079"></a>00079 <a name="l00080"></a>00080   <span class="comment">//print(usart, "Setting up PDC\n");</span><a name="l00081"></a>00081   <a class="code" href="pdc_8c.html#a785b05ff9a4ab8aeb81add0dcee22de">pdc_enable</a>( (<span class="keywordtype">void</span> *) <a class="code" href="usart__example1_8c.html#a65e5f6cbdd70191cfbdcbaa3e7c8b81">USART_ADDR</a> );<a name="l00082"></a>00082   <a class="code" href="pdc_8c.html#eb0a9a90269a4fc9a797a72d187d1394">pdc_setRxBuf</a>((<span class="keywordtype">void</span> *) <a class="code" href="usart__example1_8c.html#a65e5f6cbdd70191cfbdcbaa3e7c8b81">USART_ADDR</a>,<a name="l00083"></a>00083                 (<span class="keywordtype">void</span> *) <a class="code" href="pdc_8c.html#e0911ca4f685151ee6b575d04c3ae287">pdc_translatePtr</a>(<a class="code" href="usart__example3_8c.html#672ea50590e23f995b0f9cbfcbfe36c2">usart_rx_buf</a>),<a name="l00084"></a>00084                 <a class="code" href="usart__example3_8c.html#1e07f7ff9d3d3721b835bb90b04a6c13">usart_rx_buf_size</a>,<a name="l00085"></a>00085                 (<span class="keywordtype">void</span> *) 0,<a name="l00086"></a>00086                 0);<a name="l00087"></a>00087   <a class="code" href="pdc_8c.html#98f03f3c504599d5b4569ff1c20c2794">pdc_setTxBuf</a>( (<span class="keywordtype">void</span> *) USART_ADDR,<a name="l00088"></a>00088                 (<span class="keywordtype">void</span> *) <a class="code" href="usart__example3_8c.html#4c3c9d9f376c4e3d0be3084245cff33e">usart_tx_buf</a>,<a name="l00089"></a>00089                 <a class="code" href="usart__example3_8c.html#2bc6d145fa800004322ccd4de47d869b">usart_tx_buf_size</a>,<a name="l00090"></a>00090                 (<span class="keywordtype">void</span> *) 0,<a name="l00091"></a>00091                 0);<a name="l00092"></a>00092 <a name="l00093"></a>00093   init_interrupts();<a name="l00094"></a>00094 <a name="l00095"></a>00095   <span class="keywordflow">while</span>(1)<a name="l00096"></a>00096         <a class="code" href="usart__example3_8c.html#adaf55c86546e04acd914ff9ebe2eaa8">tick_delay</a>();<a name="l00097"></a>00097 <a name="l00098"></a>00098   <span class="keywordflow">return</span> 42;<a name="l00099"></a>00099 <a name="l00100"></a>00100 }</pre></div><p><p>Here is the call graph for this function:</div></div><p><a class="anchor" name="adaf55c86546e04acd914ff9ebe2eaa8"></a><!-- doxytag: member="usart_example3.c::tick_delay" ref="adaf55c86546e04acd914ff9ebe2eaa8" args="()" -->

⌨️ 快捷键说明

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