📄 pdc__example_8c-source.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/pdc/pdc_example.c Source File</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_8c4082e77fbbc3a6ea8174dc22e0d829.html">pdc</a></div><h1>pdc_example.c</h1><a href="pdc__example_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*This file has been prepared for Doxygen automatic documentation generation.*/</span><a name="l00022"></a>00022 <span class="preprocessor">#include <avr32/io.h></span><a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="settings_8h.html">settings.h</a>"</span><a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8h.html">usart.h</a>"</span><a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="pdc_8h.html">pdc.h</a>"</span><a name="l00026"></a>00026 <a name="l00027"></a>00027 <span class="preprocessor">#ifdef __GNUC__</span><a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor"> #include "<a class="code" href="interrupt__gcc_8h.html">interrupt_gcc.h</a>"</span><a name="l00029"></a>00029 <span class="preprocessor">#elif __IAR__</span><a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor"> #include "<a class="code" href="interrupt__iar_8h.html">interrupt_iar.h</a>"</span><a name="l00031"></a>00031 <span class="preprocessor">#endif</span><a name="l00032"></a>00032 <span class="preprocessor"></span><a name="l00033"></a><a class="code" href="pdc__example_8c.html#143edb2a30dcec26a3ec0a41d1082010">00033</a> <span class="preprocessor">#define RGB_OFF 0</span><a name="l00034"></a><a class="code" href="pdc__example_8c.html#a039288455af8a3812a35aa1e7b903e4">00034</a> <span class="preprocessor"></span><span class="preprocessor">#define RGB_RED 1</span><a name="l00035"></a><a class="code" href="pdc__example_8c.html#b6c97468034c02fe204fd37036d9be15">00035</a> <span class="preprocessor"></span><span class="preprocessor">#define RGB_GREEN 2</span><a name="l00036"></a><a class="code" href="pdc__example_8c.html#0eff802f1ca228046476209dc01c76ad">00036</a> <span class="preprocessor"></span><span class="preprocessor">#define RGB_BLUE 3</span><a name="l00037"></a><a class="code" href="pdc__example_8c.html#0a85d8d0da8edc5cce98f48701f903f7">00037</a> <span class="preprocessor"></span><span class="preprocessor">#define RGB_ORANGE 4</span><a name="l00038"></a><a class="code" href="pdc__example_8c.html#c1771f95d9887118764bd8a074e537e1">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define RGB_WHITE 5</span><a name="l00039"></a>00039 <span class="preprocessor"></span><a name="l00040"></a><a class="code" href="pdc__example_8c.html#756985fd8314d5c019f685164d8c3c16">00040</a> <span class="preprocessor">#define MODE_POLLED 0</span><a name="l00041"></a><a class="code" href="pdc__example_8c.html#ef5acafeb3c35dae8cee512439195883">00041</a> <span class="preprocessor"></span><span class="preprocessor">#define MODE_PDC 1</span><a name="l00042"></a><a class="code" href="pdc__example_8c.html#4ccf0adbf6c2731ae9d343d745cb6f50">00042</a> <span class="preprocessor"></span><span class="preprocessor">#define MODE_INT 2</span><a name="l00043"></a>00043 <span class="preprocessor"></span><a name="l00044"></a>00044 <a name="l00045"></a><a class="code" href="pdc__example_8c.html#ed1cfb225a5fb77461e7972691e68a72">00045</a> <span class="keywordtype">char</span> * <a class="code" href="pdc__example_8c.html#ed1cfb225a5fb77461e7972691e68a72">string</a>;<a name="l00046"></a><a class="code" href="pdc__example_8c.html#f6d36bf80746a66dbc322f81675bfdd8">00046</a> <span class="keywordtype">int</span> <a class="code" href="pdc__example_8c.html#f6d36bf80746a66dbc322f81675bfdd8">stringSize</a>;<a name="l00047"></a><a class="code" href="pdc__example_8c.html#17f880c1a0b4092e2a2b6edc8f6f0296">00047</a> <span class="keywordtype">char</span> * <a class="code" href="pdc__example_8c.html#17f880c1a0b4092e2a2b6edc8f6f0296">stringPDC</a>;<a name="l00048"></a><a class="code" href="pdc__example_8c.html#d7000420ddb9c6aaf7a13c9b7c4e837a">00048</a> <span class="keywordtype">int</span> <a class="code" href="pdc__example_8c.html#d7000420ddb9c6aaf7a13c9b7c4e837a">stringSizePDC</a>;<a name="l00049"></a><a class="code" href="pdc__example_8c.html#a3c67cc5cb0b0223b92c9fb74b904255">00049</a> <span class="keyword">volatile</span> avr32_pio_t * <a class="code" href="pdc__example_8c.html#a3c67cc5cb0b0223b92c9fb74b904255">pioa</a>;<a name="l00050"></a><a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">00050</a> <span class="keyword">volatile</span> avr32_pio_t * <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>;<a name="l00051"></a><a class="code" href="pdc__example_8c.html#815b2ce862a7fa7c51e4ffb658f410dd">00051</a> <span class="keyword">volatile</span> avr32_usart_t * <a class="code" href="pdc__example_8c.html#815b2ce862a7fa7c51e4ffb658f410dd">usart0</a>;<a name="l00052"></a><a class="code" href="pdc__example_8c.html#369af489f96cc0f9014811f7f92f513d">00052</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="pdc__example_8c.html#369af489f96cc0f9014811f7f92f513d">runningleds_status</a>;<a name="l00053"></a>00053 <a name="l00054"></a><a class="code" href="pio__test_8c.html#341d33c536d663703208ab568f7d1e0e">00054</a> <span class="keywordtype">void</span> <a class="code" href="pdc__example_8c.html#bb9ee10191569258e0f22bdd0a95ba62">delay</a>()<a name="l00055"></a>00055 {<a name="l00056"></a>00056 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> timeout = <a class="code" href="settings_8h.html#45ba202b05caf39795aeca91b0ae547e">TIMEOUT</a>;<a name="l00057"></a>00057 <a name="l00058"></a>00058 <span class="keywordflow">do</span> {<a name="l00059"></a>00059 --timeout;<a name="l00060"></a>00060 } <span class="keywordflow">while</span> ( timeout > 0 );<a name="l00061"></a>00061 }<a name="l00062"></a>00062 <a name="l00063"></a>00063 <a name="l00064"></a><a class="code" href="pdc__example_8c.html#63085d18a532246ac4f8f4daf0aa50e0">00064</a> <span class="keywordtype">void</span> <a class="code" href="pdc__example_8c.html#63085d18a532246ac4f8f4daf0aa50e0">runningleds</a>()<a name="l00065"></a>00065 {<a name="l00066"></a>00066 <a class="code" href="pdc__example_8c.html#369af489f96cc0f9014811f7f92f513d">runningleds_status</a> <<= 1;<a name="l00067"></a>00067 <a class="code" href="pdc__example_8c.html#369af489f96cc0f9014811f7f92f513d">runningleds_status</a> ^= ( <a class="code" href="pdc__example_8c.html#369af489f96cc0f9014811f7f92f513d">runningleds_status</a> ^ 0x80 ) >> 7;<a name="l00068"></a>00068 <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>->codr = 0x000000FF;<a name="l00069"></a>00069 <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>->sodr = (long)<a class="code" href="pdc__example_8c.html#369af489f96cc0f9014811f7f92f513d">runningleds_status</a>;<a name="l00070"></a>00070 }<a name="l00071"></a>00071 <a name="l00082"></a><a class="code" href="pdc__example_8c.html#5c306d9eb1786a113d9cbbd151f48a98">00082</a> <span class="keywordtype">void</span> <a class="code" href="pdc__example_8c.html#5c306d9eb1786a113d9cbbd151f48a98">rgb_setColor</a>( <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> color )<a name="l00083"></a>00083 {<a name="l00084"></a>00084 <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>->codr = 0x003F0000;<a name="l00085"></a>00085 <a name="l00086"></a>00086 <span class="keywordflow">switch</span>( color ) {<a name="l00087"></a>00087 <span class="keywordflow">case</span> <a class="code" href="pdc__example_8c.html#143edb2a30dcec26a3ec0a41d1082010">RGB_OFF</a>:<a name="l00088"></a>00088 <span class="keywordflow">break</span>;<a name="l00089"></a>00089 <span class="keywordflow">case</span> <a class="code" href="pdc__example_8c.html#a039288455af8a3812a35aa1e7b903e4">RGB_RED</a>:<a name="l00090"></a>00090 <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>->sodr = 0x00030000;<a name="l00091"></a>00091 <span class="keywordflow">break</span>;<a name="l00092"></a>00092 <span class="keywordflow">case</span> <a class="code" href="pdc__example_8c.html#b6c97468034c02fe204fd37036d9be15">RGB_GREEN</a>:<a name="l00093"></a>00093 <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>->sodr = 0x000C0000;<a name="l00094"></a>00094 <span class="keywordflow">break</span>;<a name="l00095"></a>00095 <span class="keywordflow">case</span> <a class="code" href="pdc__example_8c.html#0eff802f1ca228046476209dc01c76ad">RGB_BLUE</a>:<a name="l00096"></a>00096 <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>->sodr = 0x00300000;<a name="l00097"></a>00097 <span class="keywordflow">break</span>;<a name="l00098"></a>00098 <span class="keywordflow">case</span> <a class="code" href="pdc__example_8c.html#0a85d8d0da8edc5cce98f48701f903f7">RGB_ORANGE</a>:<a name="l00099"></a>00099 <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>->sodr = 0x000F0000;<a name="l00100"></a>00100 <span class="keywordflow">break</span>;<a name="l00101"></a>00101 <span class="keywordflow">case</span> <a class="code" href="pdc__example_8c.html#c1771f95d9887118764bd8a074e537e1">RGB_WHITE</a>:<a name="l00102"></a>00102 <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>->sodr = 0x003F0000;<a name="l00103"></a>00103 <span class="keywordflow">break</span>;<a name="l00104"></a>00104 <span class="keywordflow">default</span>:<a name="l00105"></a>00105 <span class="keywordflow">break</span>;<a name="l00106"></a>00106 }<a name="l00107"></a>00107 }<a name="l00108"></a>00108 <a name="l00109"></a>00109 <a name="l00110"></a><a class="code" href="pdc__example_8c.html#0ddf1224851353fc92bfbff6f499fa97">00110</a> <span class="keywordtype">int</span> <a class="code" href="pdc__example_8c.html#0ddf1224851353fc92bfbff6f499fa97">main</a>( <span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> * argv[] )<a name="l00111"></a>00111 {<a name="l00112"></a>00112 <span class="keyword">struct </span><a class="code" href="structusart__options__t.html">usart_options_t</a> usartOptions;<a name="l00113"></a>00113 <a name="l00114"></a>00114 <span class="comment">/* Select PIO */</span><a name="l00115"></a>00115 <a class="code" href="pdc__example_8c.html#a3c67cc5cb0b0223b92c9fb74b904255">pioa</a> = (<span class="keyword">volatile</span> avr32_pio_t *) AVR32_PIOA_ADDRESS;<a name="l00116"></a>00116 <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a> = (<span class="keyword">volatile</span> avr32_pio_t *) AVR32_PIOB_ADDRESS;<a name="l00117"></a>00117 <a name="l00118"></a>00118 <span class="comment">/* Select USART */</span><a name="l00119"></a>00119 <a class="code" href="pdc__example_8c.html#815b2ce862a7fa7c51e4ffb658f410dd">usart0</a> = (<span class="keyword">volatile</span> avr32_usart_t *) AVR32_USART0_ADDRESS;<a name="l00120"></a>00120
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -