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

📄 pdc__example_8c-source.html

📁 avr32100.zip Embedded demo
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<a name="l00121"></a>00121         <span class="comment">/* disable all interrupts on PIO */</span><a name="l00122"></a>00122         pioa-&gt;idr = 0xFFFFffff;<a name="l00123"></a>00123         <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>-&gt;idr = 0xFFFFffff;<a name="l00124"></a>00124 <a name="l00125"></a>00125         <span class="comment">/* Enable USART0, SPI and I2S on PIOA</span><a name="l00126"></a>00126 <span class="comment">         * USART0 is PA26 and PA27</span><a name="l00127"></a>00127 <span class="comment">         * USART0 is module A on PIOA</span><a name="l00128"></a>00128 <span class="comment">         */</span><a name="l00129"></a>00129         pioa-&gt;pdr = 0x0C000000;<a name="l00130"></a>00130         pioa-&gt;asr = 0x0C000000;<a name="l00131"></a>00131 <a name="l00132"></a>00132         <span class="comment">/* Enable PIOB as debug output/input</span><a name="l00133"></a>00133 <span class="comment">         * Output: PB0, PB1, PB2, PB3, PB4, PB5, PB6 and PB7</span><a name="l00134"></a>00134 <span class="comment">         * Input: PB8, PB9, PB10, PB11, PB12, PB13, PB14 AND PB15</span><a name="l00135"></a>00135 <span class="comment">         */</span><a name="l00136"></a>00136         <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>-&gt;per = 0x000000FF;<a name="l00137"></a>00137         <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>-&gt;oer = 0x00FF00FF;<a name="l00138"></a>00138         <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>-&gt;odr = 0x0000FF00;<a name="l00139"></a>00139         <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>-&gt;ifer = 0x0000FF00;<a name="l00140"></a>00140         <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>-&gt;codr = 0xFFFFffff;<a name="l00141"></a>00141         <a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>-&gt;ower = 0x00FF00FF;<a name="l00142"></a>00142 <a name="l00143"></a>00143         <span class="comment">/* Set options for the USART */</span><a name="l00144"></a>00144         usartOptions.<a class="code" href="structusart__options__t.html#276ad428776a25b8247762bd2c82b35b">baudrate</a> = <a class="code" href="settings_8h.html#c60802ccb5cdfa592816460b9cdb73fb">USART_BAUD</a>;<a name="l00145"></a>00145         usartOptions.<a class="code" href="structusart__options__t.html#a6b77cc05829d2e70ee7f96194c6ce23">charlength</a> = <a class="code" href="settings_8h.html#a8e8f20a748c1df600d0e32f8812dda2">USART_BITS</a>;<a name="l00146"></a>00146         usartOptions.<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="l00147"></a>00147         usartOptions.<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="l00148"></a>00148         usartOptions.<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="l00149"></a>00149 <a name="l00150"></a>00150         <span class="comment">/* Initialize USART in RS232 mode */</span><a name="l00151"></a>00151         <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8c.html#d2cd45d1e18b6d00c182ac3663f0aa72">usart_init2</a>( <a class="code" href="pdc__example_8c.html#815b2ce862a7fa7c51e4ffb658f410dd">usart0</a>, &amp;usartOptions, <a class="code" href="settings_8h.html#47aefcd68cee6d1b35fda5298d739880">CPUHZ</a> );<a name="l00152"></a>00152 <a name="l00153"></a>00153         <a class="code" href="pdc__example_8c.html#ed1cfb225a5fb77461e7972691e68a72">string</a> = <span class="stringliteral">"POL: AVR32 PDC application demo\r\n"</span>;<a name="l00154"></a>00154         <a class="code" href="pdc__example_8c.html#17f880c1a0b4092e2a2b6edc8f6f0296">stringPDC</a> = <span class="stringliteral">"PDC: AVR32 PDC application demo\r\n"</span>;<a name="l00155"></a>00155 <a name="l00156"></a>00156         <a class="code" href="pdc__example_8c.html#f6d36bf80746a66dbc322f81675bfdd8">stringSize</a> = 33;<a name="l00157"></a>00157         <a class="code" href="pdc__example_8c.html#d7000420ddb9c6aaf7a13c9b7c4e837a">stringSizePDC</a> = 33;<a name="l00158"></a>00158 <a name="l00159"></a>00159         <a class="code" href="pdc_8c.html#2b547452934d9ac4de77067b9f0a50fe">pdc_flushCache</a>( <a class="code" href="pdc__example_8c.html#ed1cfb225a5fb77461e7972691e68a72">string</a>, <a class="code" href="pdc__example_8c.html#f6d36bf80746a66dbc322f81675bfdd8">stringSize</a> );<a name="l00160"></a>00160         <a class="code" href="pdc_8c.html#2b547452934d9ac4de77067b9f0a50fe">pdc_flushCache</a>( <a class="code" href="pdc__example_8c.html#17f880c1a0b4092e2a2b6edc8f6f0296">stringPDC</a>, <a class="code" href="pdc__example_8c.html#d7000420ddb9c6aaf7a13c9b7c4e837a">stringSizePDC</a> );<a name="l00161"></a>00161 <a name="l00162"></a>00162         <span class="keywordtype">int</span> mode = <a class="code" href="pdc__example_8c.html#756985fd8314d5c019f685164d8c3c16">MODE_POLLED</a>;<a name="l00163"></a>00163         <a class="code" href="pdc__example_8c.html#5c306d9eb1786a113d9cbbd151f48a98">rgb_setColor</a>(<a class="code" href="pdc__example_8c.html#a039288455af8a3812a35aa1e7b903e4">RGB_RED</a>);<a name="l00164"></a>00164         <a class="code" href="pdc__example_8c.html#369af489f96cc0f9014811f7f92f513d">runningleds_status</a> = 0;<a name="l00165"></a>00165 <a name="l00166"></a>00166         <span class="keywordflow">for</span>( ;; ) {<a name="l00167"></a>00167 <a name="l00168"></a>00168                 <span class="comment">/* Actions</span><a name="l00169"></a>00169 <span class="comment">                 * SW7 change mode to POLL</span><a name="l00170"></a>00170 <span class="comment">                 * SW6 change mode to PDC</span><a name="l00171"></a>00171 <span class="comment">                 * SW5 change mode to PDC + Interrupt</span><a name="l00172"></a>00172 <span class="comment">                 */</span><a name="l00173"></a>00173                 <span class="keywordflow">if</span>( (<a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>-&gt;pdsr &amp; (1&lt;&lt;AVR32_PIO_P15)) == 0 ) {<a name="l00174"></a>00174                         <a class="code" href="pdc__example_8c.html#5c306d9eb1786a113d9cbbd151f48a98">rgb_setColor</a>(<a class="code" href="pdc__example_8c.html#a039288455af8a3812a35aa1e7b903e4">RGB_RED</a>);<a name="l00175"></a>00175                         mode = <a class="code" href="pdc__example_8c.html#756985fd8314d5c019f685164d8c3c16">MODE_POLLED</a>;<a name="l00176"></a>00176                 } <span class="keywordflow">else</span> <span class="keywordflow">if</span>( (<a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>-&gt;pdsr &amp; (1&lt;&lt;AVR32_PIO_P14)) == 0 ) {<a name="l00177"></a>00177                         <a class="code" href="pdc__example_8c.html#5c306d9eb1786a113d9cbbd151f48a98">rgb_setColor</a>(<a class="code" href="pdc__example_8c.html#0a85d8d0da8edc5cce98f48701f903f7">RGB_ORANGE</a>);<a name="l00178"></a>00178                         mode = <a class="code" href="pdc__example_8c.html#ef5acafeb3c35dae8cee512439195883">MODE_PDC</a>;<a name="l00179"></a>00179                 } <span class="keywordflow">else</span> <span class="keywordflow">if</span>( (<a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>-&gt;pdsr &amp; (1&lt;&lt;AVR32_PIO_P13)) == 0 ) {<a name="l00180"></a>00180                         <a class="code" href="pdc__example_8c.html#5c306d9eb1786a113d9cbbd151f48a98">rgb_setColor</a>(<a class="code" href="pdc__example_8c.html#b6c97468034c02fe204fd37036d9be15">RGB_GREEN</a>);<a name="l00181"></a>00181                         mode = <a class="code" href="pdc__example_8c.html#4ccf0adbf6c2731ae9d343d745cb6f50">MODE_INT</a>;<a name="l00182"></a>00182                 }<a name="l00183"></a>00183 <a name="l00184"></a>00184 <a name="l00185"></a>00185                 <span class="keywordflow">if</span>( mode == <a class="code" href="pdc__example_8c.html#756985fd8314d5c019f685164d8c3c16">MODE_POLLED</a> ) {<a name="l00186"></a>00186                         <a class="code" href="testsuite_2bravo__validation_2pdc_2usart_8c.html#2762980365c2aadfa3170a622c71b6cf">usart_writeLine</a>( <a class="code" href="pdc__example_8c.html#815b2ce862a7fa7c51e4ffb658f410dd">usart0</a>, <a class="code" href="pdc__example_8c.html#ed1cfb225a5fb77461e7972691e68a72">string</a> );<a name="l00187"></a>00187                 }<a name="l00188"></a>00188                 <span class="keywordflow">else</span> <span class="keywordflow">if</span>( mode == <a class="code" href="pdc__example_8c.html#ef5acafeb3c35dae8cee512439195883">MODE_PDC</a> ) {<a name="l00189"></a>00189                         <span class="keywordflow">if</span>( <a class="code" href="pdc_8c.html#c0660b45db6f34dab2c2af12c4b196ab">pdc_txBytesLeft</a>( (<span class="keywordtype">void</span> *) <a class="code" href="pdc__example_8c.html#815b2ce862a7fa7c51e4ffb658f410dd">usart0</a> ) == 0 ) {<a name="l00190"></a>00190                                 <a class="code" href="pdc_8c.html#98f03f3c504599d5b4569ff1c20c2794">pdc_setTxBuf</a>( (<span class="keywordtype">void</span> *) usart0,<a name="l00191"></a>00191                                                 <a class="code" href="pdc_8c.html#e0911ca4f685151ee6b575d04c3ae287">pdc_translatePtr</a>( <a class="code" href="pdc__example_8c.html#17f880c1a0b4092e2a2b6edc8f6f0296">stringPDC</a> ),<a name="l00192"></a>00192                                                 <a class="code" href="pdc__example_8c.html#d7000420ddb9c6aaf7a13c9b7c4e837a">stringSizePDC</a>,<a name="l00193"></a>00193                                                 0,<a name="l00194"></a>00194                                                 0 );<a name="l00195"></a>00195                         }<a name="l00196"></a>00196                 }<a name="l00197"></a>00197                 <span class="keywordflow">else</span> <span class="keywordflow">if</span>( mode == <a class="code" href="pdc__example_8c.html#4ccf0adbf6c2731ae9d343d745cb6f50">MODE_INT</a> ) {<a name="l00198"></a>00198                         <span class="keywordtype">int</span> interrupts_on = 1;<a name="l00199"></a>00199 <a name="l00200"></a>00200                         <a class="code" href="interrupt__gcc_8h.html#5f9b6a3ef7d5699f3ff7529a09fedd39">start_interrupts</a>();<a name="l00201"></a>00201 <a name="l00202"></a>00202                         <span class="keywordflow">do</span> {<a name="l00203"></a>00203                                 <span class="comment">/* SW7 and SW6 disables interrupts */</span><a name="l00204"></a>00204                                 <span class="keywordflow">if</span>( (<a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>-&gt;pdsr &amp; (1&lt;&lt;AVR32_PIO_P15)) == 0 ) {<a name="l00205"></a>00205                                         <a class="code" href="pdc__example_8c.html#5c306d9eb1786a113d9cbbd151f48a98">rgb_setColor</a>(<a class="code" href="pdc__example_8c.html#a039288455af8a3812a35aa1e7b903e4">RGB_RED</a>);<a name="l00206"></a>00206                                         mode = <a class="code" href="pdc__example_8c.html#756985fd8314d5c019f685164d8c3c16">MODE_POLLED</a>;<a name="l00207"></a>00207                                         interrupts_on = 0;<a name="l00208"></a>00208                                 } <span class="keywordflow">else</span> <span class="keywordflow">if</span>( (<a class="code" href="pdc__example_8c.html#305f96d612af5d9d17a8dd222dd01908">piob</a>-&gt;pdsr &amp; (1&lt;&lt;AVR32_PIO_P14)) == 0 ) {<a name="l00209"></a>00209                                         <a class="code" href="pdc__example_8c.html#5c306d9eb1786a113d9cbbd151f48a98">rgb_setColor</a>(<a class="code" href="pdc__example_8c.html#0a85d8d0da8edc5cce98f48701f903f7">RGB_ORANGE</a>);<a name="l00210"></a>00210                                         mode = <a class="code" href="pdc__example_8c.html#ef5acafeb3c35dae8cee512439195883">MODE_PDC</a>;<a name="l00211"></a>00211                                         interrupts_on = 0;<a name="l00212"></a>00212                                 }<a name="l00213"></a>00213 <a name="l00214"></a>00214                                 <a class="code" href="pdc__example_8c.html#63085d18a532246ac4f8f4daf0aa50e0">runningleds</a>();<a name="l00215"></a>00215                                 <a class="code" href="pdc__example_8c.html#bb9ee10191569258e0f22bdd0a95ba62">delay</a>();<a name="l00216"></a>00216                         } <span class="keywordflow">while</span>( interrupts_on == 1 );<a name="l00217"></a>00217 <a name="l00218"></a>00218                         <a class="code" href="interrupt__gcc_8h.html#e730c972fe2867927977a304ce7d6aa1">stop_interrupts</a>();<a name="l00219"></a>00219                 }<a name="l00220"></a>00220 <a name="l00221"></a>00221                 <a class="code" href="pdc__example_8c.html#63085d18a532246ac4f8f4daf0aa50e0">runningleds</a>();<a name="l00222"></a>00222                 <a class="code" href="pdc__example_8c.html#bb9ee10191569258e0f22bdd0a95ba62">delay</a>();<a name="l00223"></a>00223         }<a name="l00224"></a>00224 }<a name="l00225"></a>00225 </pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu May 10 14:14:48 2007 for AVR321000 Communication with the AVR32 USART by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address></body></html>

⌨️ 快捷键说明

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