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

📄 main_8c-source.html

📁 MSP acquires data and sends through USB to PC. Check the link for PC capture software and project d
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<a name="l00405"></a>00405             f_close (&amp;F);<a name="l00406"></a>00406             <a class="code" href="lcd_8c.html#745f4e24d600186db3dc2fea9b4a52d6">LCD_printf</a> (<span class="stringliteral">"OK\n"</span>);<a name="l00407"></a>00407         }<a name="l00408"></a>00408         <span class="keywordflow">else</span><a name="l00409"></a>00409         {<a name="l00410"></a>00410             <a class="code" href="lcd_8c.html#745f4e24d600186db3dc2fea9b4a52d6">LCD_printf</a> (<span class="stringliteral">"open ERR:\n%s\n"</span>, <a class="code" href="main_8c.html#14b2736f4de73b772af55d5dccc01445">FF_getErrorStr</a> (fres));<a name="l00411"></a>00411         }<a name="l00412"></a>00412         <a class="code" href="lcd_8c.html#745f4e24d600186db3dc2fea9b4a52d6">LCD_printf</a> (<span class="stringliteral">"Reading... "</span>);<a name="l00413"></a>00413         fres = f_open (&amp;F, filename, FA_READ);<a name="l00414"></a>00414         <span class="keywordflow">if</span> (fres == FR_OK)<a name="l00415"></a>00415         {<a name="l00416"></a>00416             fres = f_read (&amp;F, buf2, <span class="keyword">sizeof</span> (buf1) - 1, &amp;bytesRead);<a name="l00417"></a>00417             <span class="keywordflow">if</span> (fres != FR_OK)<a name="l00418"></a>00418             {<a name="l00419"></a>00419                 <a class="code" href="lcd_8c.html#745f4e24d600186db3dc2fea9b4a52d6">LCD_printf</a> (<span class="stringliteral">"read ERR:\n%s\n"</span>, <a class="code" href="main_8c.html#14b2736f4de73b772af55d5dccc01445">FF_getErrorStr</a> (fres));<a name="l00420"></a>00420             }<a name="l00421"></a>00421             f_close (&amp;F);<a name="l00422"></a>00422             <a class="code" href="lcd_8c.html#745f4e24d600186db3dc2fea9b4a52d6">LCD_printf</a> (<span class="stringliteral">"OK\n"</span>);<a name="l00423"></a>00423         }<a name="l00424"></a>00424         <span class="keywordflow">else</span><a name="l00425"></a>00425         {<a name="l00426"></a>00426             <a class="code" href="lcd_8c.html#745f4e24d600186db3dc2fea9b4a52d6">LCD_printf</a> (<span class="stringliteral">"open ERR:\n%s\n"</span>, <a class="code" href="main_8c.html#14b2736f4de73b772af55d5dccc01445">FF_getErrorStr</a> (fres));<a name="l00427"></a>00427         }<a name="l00428"></a>00428         <a class="code" href="lcd_8c.html#745f4e24d600186db3dc2fea9b4a52d6">LCD_printf</a> (<span class="stringliteral">"Comparing... "</span>);<a name="l00429"></a>00429         <span class="keywordflow">if</span> (memcmp (buf1, buf2, <span class="keyword">sizeof</span> (buf1) - 1) == 0)<a name="l00430"></a>00430         {<a name="l00431"></a>00431             <a class="code" href="lcd_8c.html#745f4e24d600186db3dc2fea9b4a52d6">LCD_printf</a> (<span class="stringliteral">"OK\n"</span>);<a name="l00432"></a>00432         }<a name="l00433"></a>00433         <span class="keywordflow">else</span><a name="l00434"></a>00434         {<a name="l00435"></a>00435             <a class="code" href="lcd_8c.html#745f4e24d600186db3dc2fea9b4a52d6">LCD_printf</a> (<span class="stringliteral">"Failed!\n"</span>);<a name="l00436"></a>00436         }<a name="l00437"></a>00437     }<a name="l00438"></a>00438     <span class="keywordflow">else</span><a name="l00439"></a>00439     {<a name="l00440"></a>00440         <a class="code" href="lcd_8c.html#745f4e24d600186db3dc2fea9b4a52d6">LCD_printf</a> (<span class="stringliteral">"FatFs not OK!\n"</span>);<a name="l00441"></a>00441     }<a name="l00442"></a>00442     <a class="code" href="lcd_8c.html#745f4e24d600186db3dc2fea9b4a52d6">LCD_printf</a> (<span class="stringliteral">"\nPress OK/Quit"</span>);<a name="l00443"></a>00443     <span class="keywordflow">do</span><a name="l00444"></a>00444     {<a name="l00445"></a>00445         buttonPressed = <a class="code" href="periphery_8c.html#63c0677a7650d8b00aabded94d64693c">KBD_getButtonPressed</a> ();<a name="l00446"></a>00446         <a class="code" href="time_8c.html#9af0f4a5c28d65ca84fb763fd91e8731">mdelay</a> (20);<a name="l00447"></a>00447     } <span class="keywordflow">while</span> (!(buttonPressed &amp; <a class="code" href="periphery_8h.html#14dc48ed135ccdd9551d8ac9195adce3d64ccc54e9ccb336174d4ef9df161fdd">KBD_QUIT</a>) &amp;&amp; !(buttonPressed &amp; <a class="code" href="periphery_8h.html#14dc48ed135ccdd9551d8ac9195adce37e7f58f2dfc495230247864c3c42c181">KBD_OK</a>));<a name="l00448"></a>00448 }<a name="l00449"></a>00449 <a name="l00450"></a>00450 <span class="comment">//#define MMA</span><a name="l00451"></a>00451 <a name="l00452"></a><a class="code" href="main_8c.html#9aeccf032918bdda6dc810a5c3a35200">00452</a> <span class="preprocessor">#define POS_COL_START       0x3d</span><a name="l00453"></a><a class="code" href="main_8c.html#3534ce3215782f0aa50177725c61073c">00453</a> <span class="preprocessor"></span><span class="preprocessor">#define POS_COL_END         0x44</span><a name="l00454"></a><a class="code" href="main_8c.html#640b903855d0225596dcb93e192783dd">00454</a> <span class="preprocessor"></span><span class="preprocessor">#define POS_ROW_START       0x00</span><a name="l00455"></a><a class="code" href="main_8c.html#bc01f7f7286685e34f31a70869e74ede">00455</a> <span class="preprocessor"></span><span class="preprocessor">#define POS_ROW_END         0x0f</span><a name="l00456"></a>00456 <span class="preprocessor"></span><a name="l00457"></a><a class="code" href="main_8c.html#7a946ac4b6c7418e09eed4c19d4a83fe">00457</a> <span class="preprocessor">#define ROW_EXCEED_LEFT      180  // stupid, but we work with unsigned variable</span><a name="l00458"></a><a class="code" href="main_8c.html#0b5727aff394c7933d07eed87e83fc91">00458</a> <span class="preprocessor"></span><span class="preprocessor">#define ROW_EXCEED_RIGHT     110</span><a name="l00459"></a><a class="code" href="main_8c.html#f0964ee9b30f1896cf166b86b8c24e45">00459</a> <span class="preprocessor"></span><span class="preprocessor">#define COL_EXCEED_LEFT      180  // stupid, but we work with unsigned variable</span><a name="l00460"></a><a class="code" href="main_8c.html#e3917be7267877604aba9262b2168360">00460</a> <span class="preprocessor"></span><span class="preprocessor">#define COL_EXCEED_RIGHT     110</span><a name="l00461"></a>00461 <span class="preprocessor"></span><a name="l00462"></a><a class="code" href="main_8c.html#efd00edb9e71d2c64da766fcacefabf2">00462</a> <span class="preprocessor">#define KFACTOR   100   // for sensibility of ball :-)</span><a name="l00463"></a>00463 <span class="preprocessor"></span><a name="l00467"></a><a class="code" href="main_8c.html#0fc8841d0fc4cafec999c0dad840e299">00467</a> <span class="keywordtype">void</span> <a class="code" href="main_8c.html#0fc8841d0fc4cafec999c0dad840e299">mmaBallTest</a> ()<a name="l00468"></a>00468 {<a name="l00469"></a>00469     uint16_t i;<a name="l00470"></a>00470     <span class="comment">// base cordinate of row and column</span><a name="l00471"></a>00471     <span class="keywordtype">int</span> row_base;<a name="l00472"></a>00472     <span class="keywordtype">int</span> col_base;<a name="l00473"></a>00473 <a name="l00474"></a>00474     <span class="comment">// variables</span><a name="l00475"></a>00475     uint8_t x = <a class="code" href="lcd_8h.html#19693eac3018d3e7800fde141921b812">LCD_WIDTH</a> / 2 - <a class="code" href="ball_8h.html#59f2c3dacc9e6102981fac70883b296e">BALL_WIDTH</a> / 2,<a name="l00476"></a>00476             y = <a class="code" href="lcd_8h.html#53a8b2a971de4b88047192655a48b651">LCD_HEIGHT</a> / 2 - <a class="code" href="ball_8h.html#63e30a0ebc174fbdc445f8c6a37138ec">BALL_HEIGHT</a> / 2;<a name="l00477"></a>00477     uint8_t ox = 0, oy = 0; <span class="comment">// coordinates in previous cycle</span><a name="l00478"></a>00478     <a class="code" href="periphery_8h.html#ee61ae8f1c2cb6699241b9779166205f">KBD_buttonPressed_t</a> buttonPressed;<a name="l00479"></a>00479 <a name="l00480"></a>00480     <a class="code" href="lcd_8c.html#745f4e24d600186db3dc2fea9b4a52d6">LCD_printf</a> (<span class="stringliteral">"calibrate MMA:"</span>);<a name="l00481"></a>00481     <span class="comment">// calibrate</span><a name="l00482"></a>00482     <span class="keywordflow">for</span> (i = 0; i &lt; 16; i++) <a name="l00483"></a>00483     {<a name="l00484"></a>00484         <a class="code" href="mma_8c.html#4e414ec23d97c562ac55d713a3fec79d">MMA_getCoordinates</a>();<a name="l00485"></a>00485     }<a name="l00486"></a>00486 <a name="l00487"></a>00487     row_base = <a class="code" href="mma_8c.html#9ffb4611e1a296502a11a222e555833c">MMA_coordinates</a>[1];<a name="l00488"></a>00488     col_base = <a class="code" href="mma_8c.html#9ffb4611e1a296502a11a222e555833c">MMA_coordinates</a>[0];<a name="l00489"></a>00489     <a class="code" href="lcd_8c.html#745f4e24d600186db3dc2fea9b4a52d6">LCD_printf</a> (<span class="stringliteral">"OK"</span>);<a name="l00490"></a>00490     <a class="code" href="time_8c.html#9af0f4a5c28d65ca84fb763fd91e8731">mdelay</a> (500);<a name="l00491"></a>00491     <a class="code" href="lcd_8c.html#b3d3c08a4027d3e918914c1562ced027">LCD_clear</a> ();<a name="l00492"></a>00492     <span class="keywordflow">do</span><a name="l00493"></a>00493     {<a name="l00494"></a>00494         <span class="comment">// mma and ball ------------------------------------------------------------</span><a name="l00495"></a>00495         <a class="code" href="mma_8c.html#4e414ec23d97c562ac55d713a3fec79d">MMA_getCoordinates</a>();<a name="l00496"></a>00496 <a name="l00497"></a>00497         <span class="comment">// with calibrate when start</span><a name="l00498"></a>00498         y = y + (<a class="code" href="mma_8c.html#9ffb4611e1a296502a11a222e555833c">MMA_coordinates</a>[1] - row_base)/<a class="code" href="main_8c.html#efd00edb9e71d2c64da766fcacefabf2">KFACTOR</a>;<a name="l00499"></a>00499         x = x + (<a class="code" href="mma_8c.html#9ffb4611e1a296502a11a222e555833c">MMA_coordinates</a>[0] - col_base)/<a class="code" href="main_8c.html#efd00edb9e71d2c64da766fcacefabf2">KFACTOR</a>;<a name="l00500"></a>00500 <a name="l00501"></a>00501         <span class="comment">// check to exceed LCD area</span><a name="l00502"></a>00502         <span class="keywordflow">if</span>(y&gt;<a class="code" href="main_8c.html#7a946ac4b6c7418e09eed4c19d4a83fe">ROW_EXCEED_LEFT</a>)       y=1;<a name="l00503"></a>00503         <span class="keywordflow">if</span>(y&gt;<a class="code" href="main_8c.html#0b5727aff394c7933d07eed87e83fc91">ROW_EXCEED_RIGHT</a>)      y=110;<a name="l00504"></a>00504         <span class="keywordflow">if</span>(x&gt;<a class="code" href="main_8c.html#f0964ee9b30f1896cf166b86b8c24e45">COL_EXCEED_LEFT</a>)       x=1;<a name="l00505"></a>00505         <span class="keywordflow">if</span>(x&gt;<a class="code" href="main_8c.html#e3917be7267877604aba9262b2168360">COL_EXCEED_RIGHT</a>)      x=110;<a name="l00506"></a>00506 <a name="l00507"></a>00507         <span class="keywordflow">if</span> (oy != y || ox != x)<a name="l00508"></a>00508         {<a name="l00509"></a>00509             <span class="comment">//ClearBall (ox, oy);</span><a name="l00510"></a>00510             <a class="code" href="lcd_8c.html#2349e3cdd48f7a2b906feb75b3a14413">LCD_writeBall</a> (x, y);<a name="l00511"></a>00511             oy = y;<a name="l00512"></a>00512             ox = x;<a name="l00513"></a>00513         }<a name="l00514"></a>00514         <span class="comment">// -------------------------------------------------------------------------</span><a name="l00515"></a>00515 <a name="l00516"></a>00516         <span class="comment">// press center joystick button --------------------------------------------</span><a name="l00517"></a>00517         <span class="keywordflow">if</span> (P2IN &amp; BIT6)<a name="l00518"></a>00518         {<a name="l00519"></a>00519 <a name="l00520"></a>00520             <span class="comment">// Clear LCD</span><a name="l00521"></a>00521             <a class="code" href="lcd_8c.html#b3d3c08a4027d3e918914c1562ced027">LCD_clear</a> ();<a name="l00522"></a>00522 <a name="l00523"></a>00523             <span class="comment">// calibrate</span><a name="l00524"></a>00524             <a class="code" href="mma_8c.html#4e414ec23d97c562ac55d713a3fec79d">MMA_getCoordinates</a>();<a name="l00525"></a>00525 <a name="l00526"></a>00526             <span class="comment">// Set new position</span><a name="l00527"></a>00527             row_base = <a class="code" href="mma_8c.html#9ffb4611e1a296502a11a222e555833c">MMA_coordinates</a>[1];<a name="l00528"></a>00528             col_base = <a class="code" href="mma_8c.html#9ffb4611e1a296502a11a222e555833c">MMA_coordinates</a>[0];<a name="l00529"></a>00529         }<a name="l00530"></a>00530         buttonPressed = <a class="code" href="periphery_8c.html#63c0677a7650d8b00aabded94d64693c">KBD_getButtonPressed</a> ();<a name="l00531"></a>00531     } <span class="keywordflow">while</span> (!(buttonPressed &amp; <a class="code" href="periphery_8h.html#14dc48ed135ccdd9551d8ac9195adce3d64ccc54e9ccb336174d4ef9df161fdd">KBD_QUIT</a>));<a name="l00532"></a>00532 }<a name="l00533"></a>00533 <a name="l00537"></a><a class="code" href="main_8c.html#4bca63e2f9de43ddaeb04cc7add1d198">00537</a> <span class="keywordtype">void</span> <a class="code" href="main_8c.html#4bca63e2f9de43ddaeb04cc7add1d198">mmaRawValues</a> ()<a name="l00538"></a>00538 {

⌨️ 快捷键说明

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