📄 usart__example3_8c.html
字号:
<!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 Page</span></a></li> <li><a href="annotated.html"><span>Data 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 Pages</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="files.html"><span>File 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> » <a class="el" href="dir_18e6971fa792d4606dff45a531675719.html">bravo_validation</a> » <a class="el" href="dir_7f7ec19554deddf0beb795c9218a445b.html">usart</a></div><h1>usart_example3.c File Reference</h1><p><code>#include <avr32/io.h></code><br><code>#include <avr32/intc.h></code><br><code>#include <sys/interrupts.h></code><br><code>#include "<a class="el" href="testsuite_2bravo__validation_2usart_2usart_8h-source.html">usart.h</a>"</code><br><code>#include "<a class="el" href="pio_8h-source.html">../pio/pio.h</a>"</code><br><code>#include "<a class="el" href="print__funcs_8h-source.html">../debug/print_funcs.h</a>"</code><br><code>#include "<a class="el" href="macro_8h-source.html">../inc/macro.h</a>"</code><br><code>#include "<a class="el" href="pdc_8h-source.html">../pdc/pdc.h</a>"</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 </td><td class="memItemRight" valign="bottom"><a class="el" href="usart__example3_8c.html#a65e5f6cbdd70191cfbdcbaa3e7c8b81">USART_ADDR</a> 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 </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 </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 * </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 * </td><td class="memItemRight" valign="bottom"><a class="el" href="usart__example3_8c.html#672ea50590e23f995b0f9cbfcbfe36c2">usart_rx_buf</a> = "1234"</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static int </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 * </td><td class="memItemRight" valign="bottom"><a class="el" href="usart__example3_8c.html#4c3c9d9f376c4e3d0be3084245cff33e">usart_tx_buf</a> = "From pdc: Type 4 chars"</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static int </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 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 </td> <td class="paramname"> </td> <td> ) </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, &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->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 + -