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

📄 system_8c-source.html

📁 Freescale mcu OpenTCP-1.0.4.doc.html.zip 文档
💻 HTML
📖 第 1 页 / 共 2 页
字号:
00311         <span class="keywordflow">if</span> ( as2&lt;10 )00312                 as2 += 48;00313         <span class="keywordflow">else</span>00314                 as2 += 55;00315                 00316         <span class="keywordflow">return</span>( ((UINT16)(as1)&lt;&lt;8) + as2 );00317         00318         00319 }00320 00321 00322 <span class="comment">/* Convert ASCII character to numerical */</span>00323 <span class="comment">/* e.g. '1' -&gt; 0x01, 'A' -&gt;0x0A                 */</span>00324 00325 UINT8 asciitohex (UINT8 ch)00326 {00327         <span class="keywordflow">if</span>( (ch &lt; 58) &amp;&amp; (ch &gt; 47) )00328                 <span class="keywordflow">return</span>(ch - 48);00329         00330         <span class="keywordflow">if</span>( (ch &lt; 71 ) &amp;&amp; (ch &gt; 64) )00331                 <span class="keywordflow">return</span>(ch - 55); 00332 }00333 00334 00335 <span class="keywordtype">void</span> ltoa (UINT32 nmbr, UINT8 *ch )00336 {00337         <span class="comment">/* Transforms value of long word to ASCII string */</span>00338         <span class="comment">/* Makes it iterative                                                    */</span>00339         00340         UINT16 multiple;00341         UINT32 decade,comp;00342         UINT8 i,found;00343         00344         <span class="comment">/* Init String */</span>       00345         00346         <span class="keywordflow">for</span>( i=0; i&lt;10;i++ )00347                 *ch++ = <span class="charliteral">'0'</span>;00348         00349         ch -= 10;00350         00351         <span class="comment">/* See if Zero */</span>00352         00353         <span class="keywordflow">if</span>(nmbr == 0) {00354                 *ch++ = <span class="charliteral">'0'</span>;00355                 *ch = <span class="charliteral">'\0'</span>;00356         }00357         00358         00359         decade = 1000000000;00360         00361         found = <a class="code" href="system_8h.html#a2">FALSE</a>;00362         00363         <span class="keywordflow">for</span>( i=0; i&lt;10; i++) {00364                 00365                 <span class="keywordflow">if</span>(i != 0)00366                         decade /= 10;00367                 00368                 <span class="keywordflow">for</span>( multiple=9; multiple&gt;0; multiple--) {      00369                         <span class="keywordflow">if</span>( (i==0) &amp;&amp; (multiple &gt; 2) )00370                                 <span class="keywordflow">continue</span>;00371                 00372                         comp = decade * multiple;00373                         00374                         <span class="keywordflow">if</span>(nmbr &gt;= comp) {00375                                 *ch = hextoascii(multiple);00376                                 nmbr -= comp; 00377                                 found = <a class="code" href="system_8h.html#a1">TRUE</a>;00378                                         00379                                 <span class="keywordflow">break</span>;                          <span class="comment">/* Still processing */</span>00380                         }00381                 }00382                 00383                 <span class="keywordflow">if</span>( found == <a class="code" href="system_8h.html#a1">TRUE</a>)00384                         ch++;00385         00386         }       00387 00388         *ch = <span class="charliteral">'\0'</span>;                     <span class="comment">/* EOL */</span>00389         00390 }00391 00392 00393 00394 00395 <span class="keywordtype">void</span> itoa (UINT16 nmbr, UINT8* ch )00396 {00397         <span class="comment">/* Transforms value of word to ASCII string */</span>00398         <span class="comment">/* Makes it iterative                                           */</span>00399 00400         UINT16 decade, multiple;00401         UINT32 comp;00402         UINT8 i,found;00403 00404         <span class="comment">/* Init String */</span>00405         00406         00407         <span class="keywordflow">for</span>( i=0; i&lt;5;i++)00408                 *ch++ = <span class="charliteral">'0'</span>;00409         00410         ch -= 5;00411         00412         <span class="comment">/* See if Zero */</span>00413         00414         <span class="keywordflow">if</span>(nmbr == 0) {00415                 *ch++ = <span class="charliteral">'0'</span>;00416                 *ch = <span class="charliteral">'\0'</span>;00417         }00418         00419         decade = 10000;00420         00421         found = <a class="code" href="system_8h.html#a2">FALSE</a>;00422         00423         <span class="keywordflow">for</span>( i=0; i&lt;5; i++) {00424                 00425                 00426                 <span class="keywordflow">if</span>(i != 0)00427                         decade /= 10;00428                 00429                 <span class="keywordflow">for</span>( multiple=9; multiple&gt;0; multiple--) {      00430                         <span class="keywordflow">if</span>( (i==0) &amp;&amp; (multiple &gt; 6) )00431                                 <span class="keywordflow">continue</span>;00432                 00433                         comp = decade * multiple;00434                         00435                         <span class="keywordflow">if</span>(nmbr &gt;= comp) {00436                                 *ch = hextoascii(multiple);00437                                 nmbr -= comp; 00438                                 found = <a class="code" href="system_8h.html#a1">TRUE</a>;00439                                         00440                                 <span class="keywordflow">break</span>;                          <span class="comment">/* Still processing */</span>00441                         }00442                 }00443                 00444                 <span class="keywordflow">if</span>( found == <a class="code" href="system_8h.html#a1">TRUE</a>)00445                         ch++;00446         00447         }       00448 00449         *ch = <span class="charliteral">'\0'</span>;                     <span class="comment">/* EOL */</span>00450         00451 }00452 00453 00454 <span class="comment">/* Convert given buffer containing ASCII numbers        */</span>00455 <span class="comment">/* to numerical positive INT16 value (max. 32767)       */</span>00456 00457 INT16 atoi (UINT8 *buf, UINT8 buflen)00458 {00459         INT16 oval = 0;00460         UINT8 nval = 0;00461         00462         <span class="keywordflow">while</span>(buflen--) {00463         00464                 <span class="keywordflow">if</span>(*buf == <span class="charliteral">'\0'</span>)00465                         <span class="keywordflow">break</span>;00466                 00467                 <span class="keywordflow">if</span>( isnumeric(*buf) == 0 )00468                         <span class="keywordflow">return</span>(-1);00469         00470                 nval = asciitohex(*buf++);00471                 00472                 oval = oval * 10;00473                 oval += nval;   00474                 00475                 <span class="comment">/* Overflow?    */</span>00476                 00477                 <span class="keywordflow">if</span>(oval &lt; nval)00478                         <span class="keywordflow">return</span>(-1);00479         00480         }00481         00482         <span class="keywordflow">return</span>(oval);00483 00484 }00485 00486 00487 <span class="comment">/* Debug/String output  */</span>00488 00489 <span class="keywordtype">void</span> mputs (UINT8* msg)00490 {00491         00492         <span class="keywordflow">while</span>( *msg !=<span class="charliteral">'\0'</span>)     {00493                 sendchar(0,*msg);00494                 msg++;00495         }00496 }00497 00498 <span class="comment">/* Debug/Hex output a number*/</span>00499 <span class="keywordtype">void</span> mputhex(UINT8 nbr) {00500 00501         UINT16 i;00502         00503         i=hextoascii(nbr);00504         sendchar(0,i&gt;&gt;8);00505         sendchar(0,(UINT8)i);00506 }00507 00508 <span class="comment">/*      Watchdog refresh        */</span>00509 00510 <span class="keywordtype">void</span> kick_WD (<span class="keywordtype">void</span>) {00511         WDTC_WTE=0;                                     00512 }00513 00514 <span class="comment">/* Wait for unaccurate use      */</span>00515 00516 <span class="keywordtype">void</span> wait (INT16 i)00517 {00518         <span class="keywordflow">for</span>(;i;i--) kick_WD();00519 }00520 00521 00522 <span class="comment">/* Return "Random" Number       */</span>00523 00524 UINT32 random (<span class="keywordtype">void</span>)00525 {00526         <span class="comment">/* TODO: Return REAL random number      */</span>00527         <span class="keywordflow">return</span>(0x345A2890);00528 }00529 00530 <span class="comment">/* Do nothing   */</span>00531 00532 <span class="keywordtype">void</span> dummy (<span class="keywordtype">void</span>)00533 {00534         <span class="comment">/* That's it    */</span>00535 }00536 00537 <span class="comment">/*      Power saving mode       */</span>00538 00539 <span class="keywordtype">void</span> enter_power_save (<span class="keywordtype">void</span>)00540 {00541         <span class="comment">/* Are we on sleep mode already?        */</span>00542 00543         <span class="keywordflow">if</span> (sleep_mode)00544                 <span class="keywordflow">return</span>;00545                 00546         <a class="code" href="system_8c.html#a1">sleep_mode</a> = 1;00547         00548         <span class="comment">/* Shut down the RS transmitter chip    */</span>00549         00550         PDR8_P82 = 0;00551         00552         <span class="comment">/* Set the CPU to intermitted operation mode    */</span>00553         00554         LPMCR = 0x1E;00555         00556         <span class="keywordflow">return</span>;00557 }00558 00559 00560 00561 <span class="keywordtype">void</span> exit_power_save (<span class="keywordtype">void</span>)00562 {00563         UINT8 i;00564 00565         <span class="keywordflow">if</span> (sleep_mode) {00566                 <span class="comment">/* Release RS transmitter chip  */</span>00567 00568                 PDR8_P82 = 1;00569 00570                 <span class="comment">/* Set CPU to normal mode               */</span>00571 00572                 LPMCR = 0x18;00573                 00574                 <span class="comment">/* Wait for a while     */</span>00575                 00576                 <span class="keywordflow">for</span>( i=0; i&lt;128; i++)00577                         <a class="code" href="system_8c.html#a1">sleep_mode</a> = 0;00578                 00579         }00580         00581 }00582 00583 </pre></div><hr><address style="align: right;"><small>Generated on Sun Aug 3 20:33:00 2003 for OpenTCP by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address></body></html>

⌨️ 快捷键说明

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