Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ǶÈëʽÈí¼þ¿É¿¿ÐÔÉè¼ÆµÄһЩÀí½â
 
À´Ô´£º²©¿Í ·¢²¼ÓÚ 2016-9-20
  4522  次浏览      28

 

0.ǰÑÔ

É豸µÄ¿É¿¿ÐÔÉæ¼°¶à¸ö·½Ã棺Îȶ¨µÄÓ²¼þ¡¢ÓÅÐãµÄÈí¼þ¼Ü¹¹¡¢ÑϸñµÄ²âÊÔÒÔ¼°Êг¡ºÍʱ¼äµÄ¼ìÑéµÈµÈ¡£ÕâÀï×ÅÖØÌ¸Ò»ÏÂ×÷Õß×Ô¼º¶ÔǶÈëʽÈí¼þ¿É¿¿ÐÔÉè¼ÆµÄһЩÀí½â£¬Í¨¹ýÒ»¶¨µÄ¼¼Çɺͷ½·¨Ìá¸ßÈí¼þ¿É¿¿ÐÔ¡£ÕâÀïËù˵µÄǶÈëʽÉ豸,ÊÇָʹÓõ¥Æ¬»ú¡¢ARM7¡¢Cortex-M0£¬M3Ö®ÀàΪºËÐÄµÄ²â¿Ø»ò¹¤¿ØÏµÍ³¡£

ǶÈëʽÈí¼þ¿É¿¿ÐÔÉè¼ÆÓ¦¸Ã´Ó·À´í¡¢ÅдíºÍÈÝ´íÈý·½Ãæ½øÐп¼ÂÇ. ´ËÍâ,»¹ÐèÀí½â×Ô¼ºËùʹÓõıàÒëÆ÷ÌØÐÔ¡£

´ËÎÄÊôÅ×שÒýÓñ.

1.·À´í

Á¼ºÃµÄÈí¼þ¼Ü¹¹¡¢ÇåÎúµÄ´úÂë½á¹¹¡¢ÕÆÎÕÓ²¼þ¡¢ÉîÈëÀí½âCÓïÑÔÊÇ·À´íµÄÒªµã£¬ÕâÀï̸ֻһÏÂCÓïÑÔ¡£

¡°È˵Ä˼άºÍ¾­Ñé»ýÀÛ¶ÔÈí¼þ¿É¿¿ÐÔÓкܴóÓ°Ïì"¡£CÓïÑÔ¹îÒìÇÒÓÐÖÖÖÖÏÝÚåºÍȱÏÝ£¬ÐèÒª³ÌÐòÔ±¶àÄêÀúÁ·²ÅÄÜ´ïµ½½ÏΪÍêÉÆµÄµØ²½¡£¡°Èí¼þµÄÖÊÁ¿ÊÇÓɳÌÐòÔ±µÄÖÊÁ¿ÒÔ¼°ËûÃÇÏ໥֮¼äµÄЭ×÷¾ö¶¨µÄ¡±¡£Òò´Ë£¬×÷ÕßÈÏΪ·À´íµÄÖØµãÊÇÒª¿¼ÂÇÈ˵ÄÒòËØ¡£

¡°ÉîÈëÒ»ÃÅÓïÑÔ±à³Ì£¬²»Òª¸¡ÓÚ±íÃæ¡±¡£Èí¼þµÄ¿É¿¿ÐÔ£¬ÓëÄãÀí½âµÄÓïÑÔÉî¶ÈÃÜÇÐÏà¹Ø£¬Ç¶ÈëʽC¸üÊÇÈç´Ë¡£³ýÁËÓïÑÔ£¬×÷ÕßÈÏΪǶÈëʽ¿ª·¢»¹±ØÐëÉîÈëÀí½â±àÒëÆ÷¡£

±¾½Ú½«¶ÔCÓïÑÔµÄÏÝÚåºÍȱÏÝ×ö³õ²½Ì½ÌÖ¡£

1.1 ´¦´¦½ÔÏÝÚå

×î³õ¿ªÊ¼±à³Ìʱ£¬³ýÁËÓ¢Îıêµã±»Îóд³ÉÖÐÎıêµãÍ⣬¿ÉÄܱ»´ó¼ÒÆÕ±éÓöµ½µÄÊǽ«±È½ÏÔËËã·û==Îóд³É¸³ÖµÔËËã·û=£¬´úÂëÈçÏÂËùʾ£º

if(x=5) { ¡­ }

ÕâÀï±¾ÒâÊDZȽϱäÁ¿xÊÇ·ñµÈÓÚ³£Á¿5£¬µ«ÊÇÎ󽫡¯==¡¯Ð´³ÉÁË¡¯=¡¯£¬ifÓï¾äºãÎªÕæ¡£Èç¹ûÔÚÂß¼­Åжϱí´ïʽÖгöÏÖ¸³ÖµÔËËã·û£¬ÏÖÔڵĴó¶àÊý±àÒëÆ÷»á¸ø³ö¾¯¸æÐÅÏ¢¡£²¢·ÇËùÓгÌÐòÔ±¶¼»á×¢Òâµ½ÕâÀྯ¸æ£¬Òò´ËÓо­ÑéµÄ³ÌÐòԱʹÓÃÏÂÃæµÄ´úÂëÀ´±ÜÃâ´ËÀà´íÎó£º

if(5==x) { ¡­ }

½«³£Á¿·ÅÔÚ±äÁ¿xµÄ×ó±ß£¬¼´Ê¹³ÌÐòÔ±Î󽫡¯==¡¯Ð´³ÉÁË¡¯=¡¯£¬±àÒëÆ÷»á²úÉúÒ»¸öÈÎË­Ò²²»ÄÜÎÞÊÓµÄÓï·¨´íÎóÐÅÏ¢£º²»¿É¸ø³£Á¿¸³Öµ£¡

+=Óë=+¡¢-=Óë=-Ò²ÊÇÈÝÒ×д»ìµÄ¡£¸´ºÏ¸³ÖµÔËËã·û£¨+=¡¢*=µÈµÈ£©ËäÈ»¿ÉÒÔʹ±í´ïʽ¸ü¼Ó¼ò½à²¢ÓпÉÄܲúÉú¸ü¸ßЧµÄ»úÆ÷´úÂ룬µ«Ä³Ð©¸´ºÏ¸³ÖµÔËËã·ûÒ²»á¸ø³ÌÐò´øÀ´Òþº¬Bug£¬ÈçÏÂËùʾ´úÂ룺

tmp=+1;

¸Ã´úÂë±¾ÒâÊÇÏë±í´ïtmp=tmp+1£¬µ«Êǽ«¸´ºÏ¸³ÖµÔËËã·û+=Îóд³É=+£º½«ÕýÕûÊý³£Á¿1¸³Öµ¸ø±äÁ¿tmp¡£±àÒëÆ÷»áÐÀÈ»½ÓÊÜÕâÀà´úÂ룬Á¬¾¯¸æ¶¼²»»á²úÉú¡£

Èç¹ûÄãÄÜÔÚµ÷ÊԽ׶ξͷ¢ÏÖÕâ¸öBug£¬ÄãÕæÓ¦¸ÃÇìףһϣ¬·ñÔòÕâºÜ¿ÉÄÜ»á³ÉΪһ¸öÖØ´óÒþº¬Bug£¬ÇÒ²»Ò×±»²ì¾õ¡£

-=Óë=-Ò²ÊÇͬÑùµÀÀí¡£ÓëÖ®ÀàËÆµÄ»¹ÓÐÂß¼­Óë&&ºÍλÓë&¡¢Âß¼­»ò||ºÍλ»ò|¡¢Âß¼­·Ç£¡ºÍλȡ·´~¡£´ËÍâ×ÖĸlºÍÊý×Ö1¡¢×ÖĸOºÍÊý×Ö0Ò²Ò×»ìÏý£¬ÕâÖÖÇé¿ö¿É½èÖú±àÒëÆ÷À´¾ÀÕý¡£

ºÜ¶àµÄÈí¼þBUG×ÔÓÚÊäÈë´íÎó¡£ÔÚGoogleÉÏËÑË÷µÄʱºò£¬ÓÐЩ½á¹ûÁбíÏîÖдøÓÐÒ»Ìõ¾¯¸æ£¬±íÃ÷GoogleÈÏΪËü´øÓжñÒâ´úÂë¡£Èç¹ûÄãÔÚ2009Äê1ÔÂ31ÈÕÒ»´óÔçʹÓÃGoogleËÑË÷µÄ»°£¬Äã¾Í»á¿´µ½£¬ÔÚÄÇÌìÔ糿55·ÖÖÓµÄʱ¼äÄÚ£¬GoogleµÄËÑË÷½á¹û±êÃ÷ÿ¸öÕ¾µã¶ÔÄãµÄPC¶¼ÊÇÓк¦µÄ¡£ÕâÉæ¼°µ½Õû¸öInternetÉϵÄËùÓÐÕ¾µã£¬°üÀ¨Google×Ô¼ºµÄËùÓÐÕ¾µãºÍ·þÎñ¡£GoogleµÄ¶ñÒâÈí¼þ¼ì²â¹¦ÄÜͨ¹ýÔÚÒ»¸öÒÑÖª¹¥»÷ÕßµÄÁбíÉϲéÕÒÕ¾µã£¬´Ó¶øÊ¶±ð³öΣÏÕÕ¾µã¡£ÔÚ1ÔÂ31ÈÕÔ糿£¬¶ÔÕâ¸öÁбíµÄ¸üÐÂÒâÍâµØ°üº¬ÁËÒ»Ìõб¸Ü(¡°/¡±)¡£ËùÓеÄURL¶¼°üº¬Ò»Ìõб¸Ü£¬²¢ÇÒ£¬·´¶ñÒâÈí¼þ¹¦ÄܰÑÕâÌõб¸ÜÀí½âΪËùÓеÄURL¶¼ÊÇ¿ÉÒɵģ¬Òò´Ë£¬ËüÓä¿ìµØ¶ÔËÑË÷½á¹ûÖеÄÿ¸öÕ¾µã¶¼Ìí¼ÓÒ»Ìõ¾¯¸æ¡£ºÜÉÙ¼ûµ½Èç´Ë¼òµ¥µÄÒ»¸öÊäÈë´íÎó´øÀ´µÄ½á¹ûÈç´ËÆæ¹ÖÇÒÓ°ÏìÈç´Ë¹ã·º£¬µ«³ÌÐò¾ÍÊÇÕâÑù£¬Èݲ»µÃһ˿Êèºö¡£

Êý×é³£³£Ò²ÊÇÒýÆð³ÌÐò²»Îȶ¨µÄÖØÒªÒòËØ£¬CÓïÑÔÊý×éµÄÃÔ»óÐÔÓëÊý×éϱê´Ó0¿ªÊ¼Ãܲ»¿É·Ö£¬Äã¿ÉÒÔ¶¨Òåint a[30]£¬µ«ÊÇÄã¾ø²»¿ÉÒÔʹÓÃÊý×éÔªËØa[30]£¬³ý·ÇÄã×Ô¼ºÃ÷È·ÖªµÀÔÚ×öʲô¡£

switch¡­caseÓï¾ä¿ÉÒԺܷ½±ãµÄʵÏÖ¶à·ÖÖ§½á¹¹£¬µ«Òª×¢ÒâÔÚºÏÊʵÄλÖÃÌí¼Óbreak¹Ø¼ü×Ö¡£³ÌÐòÔ±ÍùÍùÈÝÒש¼Óbreak´Ó¶øÒýÆð˳ÐòÖ´Ðжà¸öcaseÓï¾ä£¬ÕâÒ²ÐíÊÇCµÄÒ»¸öȱÏÝÖ®´¦¡£¶ÔÓÚswitch¡­caseÓï¾ä£¬´Ó¸ÅÂÊÂÛÉÏ˵£¬¾ø´ó¶àÊý³ÌÐòÒ»´ÎÖ»ÐèÖ´ÐÐÒ»¸öÆ¥ÅäµÄcaseÓï¾ä£¬¶øÃ¿Ò»¸öÕâÑùµÄcaseÓï¾äºó¶¼±ØÐë¸úÒ»¸öbreak¡£È¥¸´ÔÓ»¯´ó¸ÅÂÊʼþ£¬Õâ¶àÉÙÓÐЩ²»ºÏ³£Çé¡£

break¹Ø¼ü×ÖÓÃÓÚÌø³ö×î½üµÄÄDzãÑ­»·Óï¾ä»òÕßswitchÓï¾ä£¬µ«³ÌÐòÔ±ÍùÍù²»¹»ÖØÊÓÕâÒ»µã¡£

1990Äê1ÔÂ15ÈÕ£¬AT&Tµç»°ÍøÂçλÓÚŦԼµÄһ̨½»»»»úµ±»ú²¢ÇÒÖØÆô£¬ÒýÆðËüÁÚ½ü½»»»»ú̱»¾£¬Óɴ˼°±Ë£¬Ò»¸öÁ¬×ÅÒ»¸ö£¬ºÜ¿ì£¬114̨½»»»»úÿÁùÃëµ±»úÖØÆôÒ»´Î£¬ÁùÍòÈ˾ÅСʱÄÚ²»ÄÜ´ò³¤Í¾µç»°¡£µ±Ê±µÄ½â¾ö·½Ê½£º¹¤³ÌÊ¦ÖØ×°ÁËÒÔǰµÄÈí¼þ°æ±¾¡£ÊºóµÄʹʵ÷²é·¢ÏÖ£¬ÕâÊÇbreak¹Ø¼ü×ÖÎóÓÃÔì³ÉµÄ¡£¡¶Cר¼Ò±à³Ì¡·ÌṩÁËÒ»¸ö¼ò»¯°æµÄÎÊÌâÔ´Â룺

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
network code()
{
switch(line) {
case THING1:
doit1();
break;
case THING2:
if(x==STUFF) {
do_first_stuff();
if(y==OTHER_STUFF)
break;
do_later_stuff();
} /*´úÂëµÄÒâͼÊÇÌø×ªµ½ÕâÀï¡­ ¡­*/
initialize_modes_pointer();
break;
default:
processing();
}/*¡­ ¡­µ«ÊÂʵÉÏÌøµ½ÁËÕâÀï¡£*/
use_modes_pointer();/*ÖÂʹmodes_pointerδ³õʼ»¯*/
}

ÄǸö³ÌÐòԱϣÍû´ÓifÓï¾äÌø³ö£¬µ«ËûÈ´Íü¼ÇÁËbreak¹Ø¼ü×Öʵ¼ÊÉÏÌø³ö×î½üµÄÄDzãÑ­»·Óï¾ä»òÕßswitchÓï¾ä¡£ÏÖÔÚËüÌø³öÁËswitchÓï¾ä£¬Ö´ÐÐÁËuse_modes_pointer()º¯Êý¡£µ«±ØÒªµÄ³õʼ»¯¹¤×÷²¢Î´Íê³É£¬Îª½«À´³ÌÐòµÄʧ°ÜÂñÏÂÁË·ü±Ê¡£

½«Ò»¸öÕûÐγ£Á¿¸³Öµ¸ø±äÁ¿£¬´úÂëÈçÏÂËùʾ£º

int a=34, b=034;

±äÁ¿aºÍbÏàµÈÂ𣿴ð°¸ÊDz»ÏàµÈµÄ¡£ÎÒÃÇÖªµÀ£¬16½øÖƳ£Á¿ÒÔ¡¯0x¡¯ÎªÇ°×º£¬10½øÖƳ£Á¿²»ÐèҪǰ׺£¬ÄÇô8½øÖÆÄØ£¿ËüÓë10½øÖƺÍ16½øÖƱíʾ·½·¨¶¼²»Ïàͨ£¬ËüÒÔÊý×Ö¡¯0¡¯ÎªÇ°×º£¬Õâ¶àÉÙÓÐµãÆæÝ⣺ÈýÖÖ½øÖƵıíʾ·½·¨ÍêÈ«²»Ïàͨ¡£Èç¹û8½øÖÆÒ²Ïñ16½øÖÆÄÇÑùÒÔÊý×ÖºÍ×Öĸ±íʾǰ׺µÄ»°£¬»òÐí¸üÓÐÀûÓÚ¼õÉÙÈí¼þBug£¬±Ï¾¹ÄãʹÓÃ8½øÖƵĴÎÊý¿ÉÄܶ¼²»»áÓÐÎóʹÓõĴÎÊý¶à£¡ÏÂÃæÕ¹Ê¾Ò»¸öÎóÓÃ8½øÖƵÄÀý×Ó£¬×îºóÒ»¸öÊý×éÔªËØ¸³Öµ´íÎó£º

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
a[0]=106; /*Ê®½øÖÆÊý106*/
a[1]=112; /*Ê®½øÖÆÊý112*/
a[2]=052; /*ʵ¼ÊΪʮ½øÖÆÊý42£¬±¾ÒâΪʮ½øÖÆ52*/

Ö¸ÕëµÄ¼Ó¼õÔËËãÊÇÌØÊâµÄ¡£ÏÂÃæµÄ´úÂëÔËÐÐÔÚ32λARM¼Ü¹¹ÉÏ£¬Ö´ÐÐÖ®ºó£¬aºÍpµÄÖµ·Ö±ðÊǶàÉÙ£¿

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
int a=1;
int *p=(int*)0x00001000;
a=a+1;
p=p+1;

¶ÔÓÚaµÄÖµºÜÈÝÅжϳö½á¹ûΪ2£¬µ«ÊÇpµÄ½á¹ûÈ´ÊÇ0x00001004¡£Ö¸Õëp¼Ó1ºó£¬pµÄÖµÔö¼ÓÁË4£¬ÕâÊÇÎªÊ²Ã´ÄØ£¿Ô­ÒòÊÇÖ¸Õë×ö¼Ó¼õÔËËãʱÊÇÒÔÖ¸ÕëµÄÊý¾ÝÀàÐÍΪµ¥Î»¡£p+1ʵ¼ÊÉÏÊÇp+1*sizeof(int)¡£²»Àí½âÕâÒ»µã£¬ÔÚʹÓÃÖ¸ÕëÖ±½Ó²Ù×÷Êý¾Ýʱ¼«Ò×·¸´í¡£±ÈÈçÏÂÃæ¶ÔÁ¬ÐøRAM³õʼ»¯Áã²Ù×÷´úÂë:

view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
unsigned int *pRAMaddr; //¶¨Ò嵨ַ֏Õë±äÁ¿
for(pRAMaddr=StartAddr;pRAMaddr<EndAddr;pRAMaddr+=4)
{
*pRAMaddr=0x00000000; //Ö¸¶¨RAMµØÖ·ÇåÁã
}

ÓÉÓÚpRAMaddrÊÇÒ»¸öÖ¸Õë±äÁ¿,ËùÒÔpRAMaddr+=4´úÂëÆäʵʹpRAMaddrÆ«ÒÆÁË4*sizeof(int)=16¸ö×Ö½Ú£¬ËùÒÔÿִÐÐÒ»´ÎforÑ­»·£¬»áʹ±äÁ¿pRAMaddrÆ«ÒÆ16¸ö×ֽڿռ䣬µ«Ö»ÓÐ4×ֽڿռ䱻³õʼ»¯ÎªÁã¡£ÆäËüµÄ12×Ö½ÚÊý¾ÝµÄÄÚÈÝ£¬ÔÚ´ó¶àÊý¼Ü¹¹´¦ÀíÆ÷Öж¼»áÊÇËæ»úÊý¡£

¶ÔÓÚsizeof()£¬ÕâÀïÇ¿µ÷Á½µã£¬µÚÒ»ËüÊÇÒ»¸ö¹Ø¼ü×Ö£¬¶ø²»ÊǺ¯Êý£¬²¢ÇÒËüĬÈÏ·µ»ØÎÞ·ûºÅÕûÐÎÊý¾Ý£¨Òª¼ÇסÊÇÎÞ·ûºÅ£©£»µÚ¶þ£¬Ê¹ÓÃsizeof»ñÈ¡Êý×鳤¶Èʱ£¬²»Òª¶ÔÖ¸ÕëÓ¦ÓÃsizeof²Ù×÷·û£¬±ÈÈçÏÂÃæµÄÀý×Ó£º

[cpp] view plain copy print?
ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
void ClearRAM(char array[])
{
int i ;
for(i=0;i<sizeof(array)/sizeof(array[0]);i++)
//ÕâÀïÓ÷¨´íÎó£¬arrayʵ¼ÊÉÏÊÇÖ¸Õë
{
array[i]=0x00;
}
}

int main(void)
{
char Fle[20];

ClearRAM(Fle);
//Ö»ÄÜÇå³ýÊý×éFleÖеÄǰËĸöÔªËØ
}

ÎÒÃÇÖªµÀ£¬¶ÔÓÚÒ»¸öÊý×éarray[20]£¬ÎÒÃÇʹÓôúÂësizeof(array)/sizeof(array[0])¿ÉÒÔ»ñµÃÊý×éµÄÔªËØ£¨ÕâÀïΪ20£©£¬µ«Êý×éÃûºÍÖ¸ÕëÍùÍùÊÇÈÝÒ×»ìÏýµÄ£¬¶øÇÒÓÐÇÒÖ»ÓÐÒ»ÖÖÇé¿öÏÂÊÇ¿ÉÒÔµ±×öÖ¸ÕëµÄ£¬ÄǾÍÊÇÊý×éÃû×÷Ϊº¯ÊýÐβÎʱ£¬Êý×éÃû±»ÈÏΪÊÇÖ¸Õ롣ͬʱ£¬Ëü²»ÄÜÔÙ¼æÈÎÊý×éÃû¡£×¢ÒâÖ»ÓÐÕâÖÖÇé¿öÏ£¬Êý×éÃû²Å¿ÉÒÔµ±×öÖ¸Õ룬µ«²»ÐÒµÄÊÇÕâÖÖÇé¿öÏÂÈÝÒ×Òý·¢·çÏÕ¡£ÔÚClearRAMº¯ÊýÄÚ£¬×÷ΪÐβεÄarray[]²»ÔÙÊÇÊý×éÃûÁË£¬¶ø³ÉÁËÖ¸Õë¡£sizeof(array)Ï൱ÓÚÇóÖ¸Õë±äÁ¿Õ¼ÓõÄ×Ö½ÚÊý£¬ÔÚ32λϵͳÏ£¬¸ÃֵΪ4£¬sizeof(array)/sizeof(array[0])µÄÔËËã½á¹ûҲΪ4¡£ËùÒÔÔÚmainº¯ÊýÖе÷ÓÃClearRAM(Fle)£¬Ò²Ö»ÄÜÇå³ýÊý×éFleÖеÄǰËĸöÔªËØÁË¡£

ÔöÁ¿ÔËËã·û++ºÍ¼õÁ¿ÔËËã·û--¼È¿ÉÒÔ×öǰ׺Ҳ¿ÉÒÔ×öºó׺¡£Ç°×ººÍºó׺µÄÇø±ðÔÚÓÚÖµµÄÔö¼Ó»ò¼õÉÙÕâÒ»¶¯×÷·¢ÉúµÄʱ¼äÊDz»Í¬µÄ¡£×÷Ϊǰ׺ÊÇÏÈ×Ô¼Ó»ò×Ô¼õÈ»ºó×ö±ðµÄÔËË㣬×÷Ϊºó׺ʱ£¬ÊÇÏÈ×öÔËË㣬֮ºóÔÙ×Ô¼Ó»ò×Ô¼õ¡£Ðí¶à³ÌÐòÔ±¶Ô´ËÈÏʶ²»¹»£¬¾ÍÈÝÒ×ÂñÏÂÒþ»¼¡£ÏÂÃæµÄÀý×Ó¿ÉÒԺܺõĽâÊÍǰ׺ºÍºó׺µÄÇø±ð¡£

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
int a=8,b=2,y;
y=a+++--b;

´úÂëÖ´Ðкó£¬yµÄÖµÊǶàÉÙ£¿

Õâ¸öÀý×Ó²¢·ÇÊÇÍÚ¿ÕÐÄ˼Éè¼Æ³öÀ´×¨ÃÅÈÃÄã½Ê¾¡ÄÔÖ­µÄCÄÑÌ⣨Èç¹ûÄã¾õµÃ×Ô¼º¶ÔCϸ½ÚÕÆÎÕºÜÓÐÐÅÐÄ£¬×öһЩCÄÑÌâ¼ìÑéÒ»ÏÂÊǸö²»´íµÄÑ¡Ôñ¡£ÄÇô£¬¡¶The C Puzzle Book¡·Õâ±¾ÊéÒ»¶¨²»Òª´í¹ý¡££©£¬ÄãÉõÖÁ¿ÉÒÔ½«Õâ¸öÄѶ®µÄÓï¾ä×÷Ϊ²»ÓѺôúÂëµÄ·´ÃæÀý×Ó¡£µ«ÊÇËüÒ²¿ÉÒÔÈÃÄã¸üºÃµÄÀí½âCÓïÑÔ¡£¸ù¾ÝÔËËã·ûÓÅÏȼ¶ÒÔ¼°±àÒëÆ÷ʶ±ð×Ö·ûµÄ̰ÐÄ·¨Ô­Ôò£¬´úÂëy=a+++--b;¿ÉÒÔд³É¸üÃ÷È·µÄÐÎʽ£º

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
y=(a++)+(--b);

µ±¸³Öµ¸ø±äÁ¿yʱ£¬aµÄֵΪ8£¬bµÄֵΪ1,ËùÒÔ±äÁ¿yµÄֵΪ9£»¸³ÖµÍê³Éºó£¬±äÁ¿a×Ô¼Ó£¬aµÄÖµ±äΪ9£¬Ç§Íò²»ÒªÒÔΪyµÄֵΪ10¡£ÕâÌõ¸³ÖµÓï¾äÏ൱ÓÚÏÂÃæµÄÁ½ÌõÓï¾ä£º

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
y=a+(--b);
a=a+1;

1.2 Íæ¾ß°ãµÄ±àÒëÆ÷ÓïÒå¼ì²é

ΪÁ˸ü¼òµ¥µÄÉè¼Æ±àÒëÆ÷£¬Ä¿Ç°¼¸ºõËùÓбàÒëÆ÷µÄÓïÒå¼ì²é¶¼±È½ÏÈõС£¬¼Ó֮ΪÁË»ñµÃ¸ü¿ìµÄÖ´ÐÐЧÂÊ£¬CÓïÑÔ±»Éè¼ÆµÄ×ã¹»Áé»îÇÒ¼¸ºõ²»½øÐÐÈκÎÔËÐÐʱ¼ì²é£¬±ÈÈçÊý×éÔ½½ç¡¢Ö¸ÕëÊÇ·ñºÏ·¨¡¢ÔËËã½á¹ûÊÇ·ñÒç³öµÈµÈ¡£

CÓïÑÔ×ã¹»Áé»î£¬¶ÔÓÚÒ»¸öÊý×éa[30]£¬ËüÔÊÐíʹÓÃÏña[-1]ÕâÑùµÄÐÎʽÀ´¿ìËÙ»ñÈ¡Êý×éÊ×ÔªËØËùÔÚµØÖ·Ç°ÃæµÄÊý¾Ý£»ÔÊÐí½«Ò»¸ö³£ÊýÇ¿ÖÆ×ª»»Îªº¯ÊýÖ¸Õ룬ʹÓôúÂë(*((void(*)())0))()À´µ÷ÓÃλÓÚ0µØÖ·µÄº¯Êý¡£CÓïÑÔ¸øÁ˳ÌÐòÔ±×ã¹»µÄ×ÔÓÉ£¬µ«Ò²ÓɳÌÐòÔ±³Ðµ£ÀÄÓÃ×ÔÓÉ´øÀ´µÄÔðÈΡ£ÏÂÃæµÄÁ½¸öÀý×Ó¶¼ÊÇËÀÑ­»·£¬Èç¹ûÔÚ²»³£Ó÷ÖÖ§ÖгöÏÖÀàËÆ´úÂ룬½«»áÔì³É¿´ËÆÄªÃûÆäÃîµÄËÀ»ú»òÕßÖØÆô¡£

a. unsigned char i£» b. unsigned chari;

for(i=0;i<256;i++) {¡­ } for(i=10;i>=0;i--) { ¡­ }

¶ÔÓÚÎÞ·ûºÅcharÀàÐÍ£¬±íʾµÄ·¶Î§Îª0~255£¬ËùÒÔÎÞ·ûºÅcharÀàÐͱäÁ¿iÓÀԶСÓÚ256£¨µÚÒ»¸öforÑ­»·ÎÞÏÞÖ´ÐУ©£¬ÓÀÔ¶´óÓÚµÈÓÚ0£¨µÚ¶þ¸öforÑ­»·ÎÞÏßÖ´ÐУ©¡£ÐèҪ˵Ã÷µÄÊÇ£¬¸³Öµ´úÂëi=256ÊDZ»CÓïÑÔÔÊÐíµÄ£¬¼´Ê¹Õâ¸ö³õÖµÒѾ­³¬³öÁ˱äÁ¿i¿ÉÒÔ±íʾµÄ·¶Î§¡£CÓïÑÔ»áǧ·½°Ù¼ÆµÄΪ³ÌÐòÔ±´´Ôì³ö´íµÄ»ú»á£¬¿É¼ûÒ»°ß¡£

¼ÙÈçÄãÔÚifÓï¾äºóÎó¼ÓÁËÒ»¸ö·ÖºÅ¸Ä±äÁ˳ÌÐòÂß¼­£¬±àÒëÆ÷Ò²»áºÜÅäºÏµÄ°ïæÑڸǣ¬ÉõÖÁÁ¬¾¯¸æ¶¼²»Ìáʾ¡£´úÂëÈçÏ£º

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
if(a>b); //ÕâÀïÎó¼ÓÁËÒ»¸ö·ÖºÅ
a=b; //Õâ¾ä´úÂëÒ»Ö±±»Ö´ÐÐ

²»µ«Èç´Ë£¬±àÒëÆ÷»¹»áºöÂÔµô¶àÓàµÄ¿Õ¸ñ·ûºÍ»»Ðзû£¬¾ÍÏñÏÂÃæµÄ´úÂëÒ²²»»á¸ø³ö×ã¹»Ìáʾ£º

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
if(n<3)
return //ÕâÀïÉÙ¼ÓÁËÒ»¸ö·ÖºÅ
logrec.data=x[0];
logrec.time=x[1];
logrec.code=x[2];

Õâ¶Î´úÂëµÄ±¾ÒâÊÇn<3ʱ³ÌÐòÖ±½Ó·µ»Ø£¬ÓÉÓÚ³ÌÐòÔ±µÄʧÎó£¬returnÉÙÁËÒ»¸ö½áÊø·ÖºÅ¡£±àÒëÆ÷½«Ëü·­Òë³É·µ»Ø±í´ïʽlogrec.data=x[0]µÄ½á¹û£¬returnºóÃæ¼´Ê¹ÊÇÒ»¸ö±í´ïʽҲÊÇCÓïÑÔÔÊÐíµÄ¡£ÕâÑùµ±n>=3ʱ£¬±í´ïʽlogrec.data=x[0];¾Í²»»á±»Ö´ÐУ¬¸ø³ÌÐòÂñÏÂÁËÒþ»¼¡£

¿ÉÒÔºÁ²»¿ÍÆøµÄ˵£¬ÈõСµÄ±àÒëÆ÷ÓïÒå¼ì²éÔںܴó³Ì¶ÈÉÏ×ÝÈÝÁ˲»¿É¿¿´úÂë¿ÉÒÔËÁÎ޼ɵ¬µÄ´æÔÚ¡£

ÉÏÎÄÔøÌáµ½Êý×é³£³£ÊÇÒýÆð³ÌÐò²»Îȶ¨µÄÖØÒªÒòËØ£¬³ÌÐòÔ±ÍùÍù²»¾­Òâ¼ä¾Í»áдÊý×éÔ½½ç¡£Ò»Î»Í¬ÊµĴúÂëÔÚÓ²¼þÉÏÔËÐУ¬Ò»¶Îʱ¼äºó¾Í»á·¢ÏÖLCDÏÔʾÆÁÉϵÄÒ»¸öÊý×Ö²»Õý³£µÄ±»¸Ä±ä¡£¾­¹ýÒ»¶Îʱ¼äµÄµ÷ÊÔ£¬ÎÊÌâ±»¶¨Î»µ½ÏÂÃæµÄÒ»¶Î´úÂëÖУº

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
int SensorData[30];
¡­for(i=30;i>0;i--)
{
SensorData[i]=¡­;
¡­
}

ÕâÀïÉùÃ÷ÁËÓµÓÐ30¸öÔªËØµÄÊý×飬²»ÐÒµÄÊÇforÑ­»·´úÂëÖÐÎóÓÃÁ˱¾²»´æÔÚµÄÊý×éÔªËØSensorData[30]£¬µ«CÓïÑÔȴĬÐíÕâôʹÓ㬲¢ÐÀÈ»µÄ°´ÕÕ´úÂë¸Ä±äÁËÊý×éÔªËØSensorData[30]ËùÔÚλÖõÄÖµ£¬ SensorData[30]ËùÔÚµÄλÖÃÔ­±¾ÊÇÒ»¸öLCDÏÔʾ±äÁ¿£¬ÕâÕýÊÇÏÔʾÆÁÉϵÄÄǸöÖµ²»Õý³£±»¸Ä±äµÄÔ­Òò¡£ÕæÇìÐÒÕâôÇá¶øÒ׾ٵķ¢ÏÖÁËÕâ¸öBug¡£

ÆäʵºÜ¶à±àÒëÆ÷»á¶ÔÉÏÊö´úÂë²úÉúÒ»¸ö¾¯¸æ£º¸³Öµ³¬³öÊý×é½çÏÞ¡£µ«²¢·ÇËùÓгÌÐòÔ±¶¼¶Ô±àÒëÆ÷¾¯¸æ±£³Ö×ã¹»Ãô¸Ð£¬¿öÇÒ£¬±àÒëÆ÷Ò²²¢²»Äܼì²é³öÊý×éÔ½½çµÄËùÓÐÇé¿ö¡£¾ÙÒ»¸öÀý×Ó£¬ÄãÔÚÄ£¿éAÖж¨ÒåÊý×飺

int SensorData[30];

ÔÚÄ£¿éBÖÐÒýÓøÃÊý×飬µ«ÓÉÓÚÄãÒýÓôúÂë²¢²»¹æ·¶£¬ÕâÀïûÓÐÏÔʾÉùÃ÷Êý×é´óС£¬µ«±àÒëÆ÷Ò²ÔÊÐíÕâô×ö£º

extern int SensorData[];

Èç¹ûÔÚÄ£¿éBÖдæÔÚºÍÉÏÃæÒ»ÑùµÄ´úÂ룺

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
for(i=30;i>0;i--)
{
SensorData[i]=¡­;
¡­
}

Õâ´Î£¬±àÒëÆ÷²»»á¸ø³ö¾¯¸æÐÅÏ¢£¬ÒòΪ±àÒëÆ÷ѹ¸ù¾Í²»ÖªµÀÊý×éµÄÔªËØ¸öÊý¡£ËùÒÔ£¬µ±Ò»¸öÊý×éÉùÃ÷Ϊ¾ßÓÐÍⲿÁ´½Ó£¬ËüµÄ´óСӦ¸ÃÏÔʽÉùÃ÷¡£

ÔÙ¾ÙÒ»¸ö±àÒëÆ÷¼ì²é²»³öÊý×éÔ½½çµÄÀý×Ó¡£º¯Êýfunc()µÄÐβÎÊÇÒ»¸öÊý×éÐÎʽ£¬º¯Êý´úÂë¼ò»¯ÈçÏÂËùʾ£º

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
char * func(char SensorData[30])
{
unsignedint i£»
for(i=30;i>0;i--)
{
SensorData[i]=¡­;
¡­
}
}

Õâ¸ö¸øSensorData[30]¸³³õÖµµÄÓï¾ä£¬±àÒëÆ÷Ò²ÊDz»¸øÈκξ¯¸æµÄ¡£Êµ¼ÊÉÏ£¬±àÒëÆ÷Êǽ«Êý×éÃûSensorÒþº¬µÄת»¯ÎªÖ¸ÏòÊý×éµÚÒ»¸öÔªËØµÄÖ¸Õ룬º¯ÊýÌåÊÇʹÓÃÖ¸ÕëµÄÐÎʽÀ´·ÃÎÊÊý×éµÄ£¬Ëüµ±È»Ò²²»»áÖªµÀÊý×éÔªËØµÄ¸öÊýÁË¡£Ôì³ÉÕâÖÖ¾ÖÃæµÄÔ­ÒòÖ®Ò»ÊÇC±àÒëÆ÷µÄ×÷ÕßÃÇÈÏΪָÕë´úÌæÊý×é¿ÉÒÔÌá¸ß³ÌÐòЧÂÊ£¬¶øÇÒ£¬»¹¿ÉÒÔ¼ò»¯±àÒëÆ÷µÄ¸´ÔÓ¶È¡£

Ö¸ÕëºÍÊý×éÊÇÈÝÒ׸ø³ÌÐòÔì³É»ìÂҵģ¬ÎÒÃÇÓбØÒª×ÐϸµÄÇø·ÖËüÃǵIJ»Í¬¡£Æäʵ»»Ò»¸ö½Ç¶ÈÏëÏ룬ËüÃÇÒ²ÊÇÈÝÒ×Çø·ÖµÄ£º¿ÉÒÔ½«Êý×éÃûµÈͬÓÚÖ¸ÕëµÄÇé¿öÓÐÇÒÖ»ÓÐÒ»´¦£¬¾ÍÊÇÉÏÃæÀý×ÓÌáµ½µÄÊý×é×÷Ϊº¯ÊýÐβÎʱ¡£ÆäËüʱºò£¬Êý×éÃûÊÇÊý×éÃû£¬Ö¸ÕëÊÇÖ¸Õë¡£

ÏÂÃæµÄÀý×Ó±àÒëÆ÷ͬÑù¼ì²é²»³öÊý×éÔ½½ç¡£

ÎÒÃdz£³£ÓÃÊý×éÀ´»º´æÍ¨Ñ¶ÖеÄÒ»Ö¡Êý¾Ý¡£ÔÚͨѶÖжÏÖн«½ÓÊÕµÄÊý¾Ý±£´æµ½Êý×éÖУ¬Ö±µ½Ò»Ö¡Êý¾ÝÍêÈ«½ÓÊÕºóÔÙ½øÐд¦Àí¡£¼´Ê¹¶¨ÒåµÄÊý×鳤¶È×ã¹»³¤£¬½ÓÊÕÊý¾ÝµÄ¹ý³ÌÖÐÒ²¿ÉÄÜ·¢ÉúÊý×éÔ½½ç£¬ÌرðÊǸÉÈÅÑÏÖØÊ±¡£ÕâÊÇÓÉÓÚÍâ½çµÄ¸ÉÈÅÆÆ»µÁËÊý¾ÝÖ¡µÄijЩ룬¶ÔÒ»Ö¡µÄÊý¾Ý³¤¶ÈÅжϴíÎ󣬽ÓÊÕµÄÊý¾Ý³¬³öÊý×鷶Χ£¬¶àÓàµÄÊý¾Ý¸ÄдÓëÊý×éÏàÁڵıäÁ¿£¬Ôì³Éϵͳ±ÀÀ£¡£ÓÉÓÚÖжÏʼþµÄÒì²½ÐÔ£¬ÕâÀàÊý×éÔ½½ç±àÒëÆ÷ÎÞ·¨¼ì²éµ½¡£

Èç¹û¾Ö²¿Êý×éÔ½½ç£¬¿ÉÄÜÒý·¢ARM¼Ü¹¹Ó²¼þÒì³£¡£Í¬ÊµÄÒ»¸öÉ豸ÓÃÓÚ½ÓÊÕÎÞÏß´«¸ÐÆ÷µÄÊý¾Ý£¬Ò»´ÎÈí¼þÉý¼¶ºó£¬·¢ÏÖ½ÓÊÕÉ豸¹¤×÷Ò»¶Îʱ¼äºó»áËÀ»ú¡£µ÷ÊÔ±íÃ÷ARM7´¦ÀíÆ÷·¢ÉúÁËÓ²¼þÒì³££¬Òì³£´¦Àí´úÂëÊÇÒ»¶ÎËÀÑ­»·£¨ËÀ»úµÄÖ±½ÓÔ­Òò£©¡£½ÓÊÕÉ豸ÓÐÒ»¸öÓ²¼þÄ£¿éÓÃÓÚ½ÓÊÕÎÞÏß´«¸ÐÆ÷µÄÕû°üÊý¾Ý²¢´æÔÚ×Ô¼ºµÄÓ²¼þ»º³åÇøÖУ¬µ±Ò»Ö¡Êý¾Ý½ÓÊÕÍê³Éºó£¬Ê¹ÓÃÍⲿÖжÏ֪ͨÉ豸ȡÊý¾Ý£¬ÍⲿÖжϷþÎñ³ÌÐò¾«¼òºóÈçÏÂËùʾ£º

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
__irq ExintHandler(void)
{
unsignedchar DataBuf[50];
GetData(DataBug); //´ÓÓ²¼þ»º³åÇøÈ¡Ò»Ö¡Êý¾Ý
¡­
}

ÓÉÓÚ´æÔÚ¶à¸öÎÞÏß´«¸ÐÆ÷½üºõͬʱ·¢ËÍÊý¾ÝµÄ¿ÉÄܼÓÖ®GetData()º¯Êý±£»¤Á¦¶È²»¹»£¬Êý×éDataBufÔÚÈ¡Êý¾Ý¹ý³ÌÖз¢ÉúÔ½½ç¡£ÓÉÓÚÊý×éDataBufΪ¾Ö²¿±äÁ¿£¬±»·ÖÅäÔÚ¶ÑÕ»ÖУ¬Í¬Ôڴ˶ÑÕ»ÖеϹÓÐÖжϷ¢ÉúʱµÄÔËÐл·¾³ÒÔ¼°ÖжϷµ»ØµØÖ·¡£Òç³öµÄÊý¾Ý½«ÕâЩÊý¾ÝÆÆ»µµô£¬ÖжϷµ»ØÊ±PCÖ¸Õë¿ÉÄܱä³ÉÒ»¸ö²»ºÏ·¨Öµ£¬Ó²¼þÒì³£Óɴ˲úÉú¡£

Èç¹ûÎÒÃǾ«ÐÄÉè¼ÆÒç³ö²¿·ÖµÄÊý¾Ý£¬»¯Êý¾ÝΪָÁ¾Í¿ÉÒÔÀûÓÃÊý×éÔ½½çÀ´ÐÞ¸ÄPCÖ¸ÕëµÄÖµ£¬Ê¹Ö®Ö¸ÏòÎÒÃÇÏ£ÍûÖ´ÐеĴúÂë¡£1988Ä꣬µÚÒ»¸öÍøÂçÈ䳿ÔÚÒ»ÌìÖ®ÄÚ¸ÐȾÁË2000µ½6000̨¼ÆËã»ú£¬Õâ¸öÈ䳿³ÌÐòÀûÓõÄÕýÊÇÒ»¸ö±ê×¼ÊäÈë¿âº¯ÊýµÄÊý×éÔ½½çBug¡£ÆðÒòÊÇÒ»¸ö±ê×¼ÊäÈëÊä³ö¿âº¯Êýgets()£¬Ô­À´Éè¼ÆÎª´ÓÊý¾ÝÁ÷Öлñȡһ¶ÎÎı¾£¬Òź¶µÄÊÇ£¬gets()º¯ÊýûÓй涨ÊäÈëÎı¾µÄ³¤¶È¡£gets()º¯ÊýÄÚ²¿¶¨ÒåÁËÒ»¸ö500×Ö½ÚµÄÊý×飬¹¥»÷Õß·¢ËÍÁË´óÓÚ500×Ö½ÚµÄÊý¾Ý£¬ÀûÓÃÒç³öµÄÊý¾ÝÐÞ¸ÄÁ˶ÑÕ»ÖеÄPCÖ¸Õ룬´Ó¶ø»ñÈ¡ÁËϵͳȨÏÞ¡£

Ò»¸ö³ÌÐòÄ£¿éͨ³£ÓÉÁ½¸öÎļþ×é³É£¬Ô´ÎļþºÍÍ·Îļþ¡£Èç¹ûÄãÔÚÔ´Îļþ¶¨Òå±äÁ¿£º

unsigned int a;

²¢ÔÚÍ·ÎļþÖÐÉùÃ÷¸Ã±äÁ¿£ºextern unsigned long a;

±àÒëÆ÷»áÌáʾһ¸öÓï·¨´íÎ󣺱äÁ¿¡¯a¡¯ÉùÃ÷ÀàÐͲ»Ò»Ö¡£µ«Èç¹ûÄãÔÚÔ´Îļþ¶¨Òå±äÁ¿£º

volatile unsigned int a£¬

ÔÚÍ·ÎļþÖÐÉùÃ÷±äÁ¿£ºextern unsigned int a; /*ȱÉÙvolatileÏÞ¶¨·û*/

±àÒëÆ÷È´²»»á¸ø³ö´íÎóÐÅÏ¢£¨ÓÐЩ±àÒëÆ÷½ö¸ø³öÒ»Ìõ¾¯¸æ£©¡£ÕâÀïvolatileÊôÓÚÀàÐÍÏÞ¶¨·û£¬ÁíÒ»¸ö³£¼ûµÄÀàÐÍÏÞ¶¨·ûÊÇconst¹Ø¼ü×Ö¡£ÏÞ¶¨·ûvolatileÔÚǶÈëʽÈí¼þÖÐÖÁ¹ØÖØÒª£¬ÓÃÀ´¸æËß±àÒëÆ÷²»ÒªÓÅ»¯ËüÐÞÊεıäÁ¿¡£ÕâÀï¾ÙÒ»¸ö¿ÌÒâ¹¹Ôì³öµÄÀý×Ó£¬ÒòΪÏÖʵÖеÄvolatileʹÓÃBug´ó¶¼Òþº¬ÇÒÄÑÒÔÀí½â¡£

ÔÚÄ£¿éAµÄÔ´ÎļþÖУ¬¶¨Òå±äÁ¿£º

volatile unsigned int TimerCount=0;

¸Ã±äÁ¿ÓÃÀ´ÔÚÒ»¸ö¶¨Ê±Æ÷·þÎñ³ÌÐòÖнøÐÐÈí¼þ¼ÆÊ±£º

TimerCount++; //¶ÁÈ¡IO¶Ë¿Ú1µÄÖµ

ÔÚÄ£¿éAµÄÍ·ÎļþÖУ¬ÉùÃ÷±äÁ¿£º

extern unsigned int TimerCount; //ÕâÀ冀ôÁËÀàÐÍÏÞ¶¨·ûvolatile

ÔÚÄ£¿éBÖУ¬ÒªÊ¹ÓÃTimerCount±äÁ¿½øÐо«È·µÄÈí¼þÑÓʱ£º

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
#include ¡°...A.h¡± //Ê×ÏȰüº¬Ä£¿éAµÄÍ·Îļþ
¡­
TimerCount=0;
while(TimerCount>=TIMER_VALUE); //ÑÓʱһ¶Îʱ¼ä

ʵ¼ÊÉÏ£¬ÕâÊÇÒ»¸öËÀÑ­»·¡£ÓÉÓÚÄ£¿éAÍ·ÎļþÖÐÉùÃ÷±äÁ¿TimerCountʱ©µôÁËvolatileÏÞ¶¨·û£¬ÔÚÄ£¿éBÖУ¬±äÁ¿TimerCountÊDZ»µ±×÷unsigned intÀàÐͱäÁ¿¡£ÓÉÓڼĴæÆ÷ËÙ¶ÈÔ¶¿ìÓÚRAM£¬±àÒëÆ÷ÔÚʹÓ÷ÇvolatileÏÞ¶¨±äÁ¿Ê±ÊÇÏȽ«±äÁ¿´ÓRAMÖп½±´µ½¼Ä´æÆ÷ÖУ¬Èç¹ûͬһ¸ö´úÂë¿éÔÙ´ÎÓõ½¸Ã±äÁ¿£¬¾Í²»ÔÙ´ÓRAMÖп½±´Êý¾Ý¶øÊÇÖ±½ÓʹÓÃ֮ǰ¼Ä´æÆ÷±¸·ÝÖµ¡£´úÂëwhile(TimerCount>=TIMER_VALUE)ÖУ¬±äÁ¿TimerCount½öµÚÒ»´ÎÖ´ÐÐʱ±»Ê¹Óã¬Ö®ºó¶¼ÊÇʹÓõļĴæÆ÷±¸·ÝÖµ£¬¶øÕâ¸ö¼Ä´æÆ÷ֵһֱΪ0£¬ËùÒÔ³ÌÐòÎÞÏÞÑ­»·¡£ÏÂÃæµÄÁ÷³Ìͼ˵Ã÷Á˳ÌÐòʹÓÃÏÞ¶¨·ûvolatileºÍ²»Ê¹ÓÃvolatileµÄÖ´Ðйý³Ì¡£

ARM¼Ü¹¹ÏµıàÒëÆ÷»áƵ·±µÄʹÓöÑÕ»£¬¶ÑÕ»ÓÃÓÚ´æ´¢º¯ÊýµÄ·µ»ØÖµ¡¢AAPCS¹æ¶¨µÄ±ØÐë±£»¤µÄ¼Ä´æÆ÷ÒÔ¼°¾Ö²¿±äÁ¿£¬°üÀ¨¾Ö²¿Êý×é¡¢½á¹¹Ìå¡¢ÁªºÏÌåºÍC++µÄÀà¡£´Ó¶ÑÕ»ÖзÖÅäµÄ¾Ö²¿±äÁ¿µÄ³õÖµÊDz»È·¶¨µÄ£¬Òò´ËÐèÒªÔËÐÐʱÏÔʽ³õʼ»¯¸Ã±äÁ¿¡£Ò»µ©À뿪¾Ö²¿±äÁ¿µÄ×÷ÓÃÓò£¬Õâ¸ö±äÁ¿Á¢¼´±»ÊÍ·Å£¬ÆäËü´úÂëÒ²¾Í¿ÉÒÔʹÓÃËü£¬Òò´Ë¶ÑÕ»ÖеÄÒ»¸öÄÚ´æÎ»ÖÿÉÄܶÔÓ¦Õû¸ö³ÌÐòµÄ¶à¸ö±äÁ¿¡£

¾Ö²¿±äÁ¿±ØÐëÏÔʽ³õʼ»¯£¬³ý·ÇÄãÈ·¶¨ÖªµÀÄãÒª×öʲô¡£ÏÂÃæµÄ´úÂëµÃµ½µÄζÈÖµ¸úÔ¤ÆÚ»áÓкܴó²î±ð£¬ÒòΪÔÚʹÓþֲ¿±äÁ¿sumʱ£¬²¢²»Äܱ£Ö¤ËüµÄ³õֵΪ0¡£±àÒëÆ÷»áÔÚµÚÒ»´ÎÔËÐÐʱÇåÁã¶ÑÕ»ÇøÓò£¬Õâ¼ÓÖØÁË´ËÀàBugµÄÒþ±ÎÐÔ¡£

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
unsigned intGetTempValue(void)
{
unsigned int sum; //¶¨Òå¾Ö²¿±äÁ¿£¬±£´æ×ÜÖµ
for(i=0;i<10;i++)
{
sum+=CollectTemp(); //º¯ÊýCollectTemp¿ÉÒԵõ½µ±Ç°µÄζÈÖµ
}
return (sum/10);
}

ÓÉÓÚÒ»µ©³ÌÐòÀ뿪¾Ö²¿±äÁ¿µÄ×÷ÓÃÓò¼´±»ÊÍ·Å£¬ËùÒÔÏÂÃæ´úÂë·µ»ØÖ¸Ïò¾Ö²¿±äÁ¿µÄÖ¸ÕëÊÇûÓÐʵ¼ÊÒâÒåµÄ£¬¸ÃÖ¸ÕëÖ¸ÏòµÄÇøÓò¿ÉÄܻᱻÆäËü³ÌÐòʹÓã¬ÆäÖµ»á±»¸Ä±ä¡£

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
char * GetData(void)
{
char buffer[100]; //¾Ö²¿Êý×é
¡­
return buffer;
}

ÈÃÈËÐÀοµÄÊÇ£¬ÏÖÔÚÔ½À´Ô½¶àµÄ±àÒëÆ÷Òâʶµ½ÁËÓïÒå¼ì²éµÄÖØÒªÐÔ£¬±àÒëÆ÷µÄÓïÒå¼ì²éÒ²Ô½À´Ô½Ç¿´ó£¬±ÈÈçÖøÃûµÄKeil MDK±àÒëÆ÷ÔÚÆä V4.47»òÒÔÉϰ汾ÖÐÔö¼ÓÁ˶¯Ì¬Óï·¨¼ì²é²¢¼ÓÇ¿ÁËÓïÒå¼ì²é£¬¿ÉÒÔÓѺõÄÌáʾ¸ü¶à¾¯¸æÐÅÏ¢¡£

1.3 ²»ºÏÀíµÄÓÅÏȼ¶

CÓïÑÔÓÐ32¸ö¹Ø¼ü×Ö£¬È´ÓÐ34¸öÔËËã·û¡£Òª¼ÇסËùÓÐÔËËã·ûµÄÓÅÏȼ¶ÊÇÀ§Äѵġ£²»ºÏÀíµÄ#define»á¼ÓÖØÓÅÏȼ¶ÎÊÌ⣬ÈÃÎÊÌâ±äµÃ¸ü¼ÓÒþ±Î¡£

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
#define READSDA IO0PIN&(1<<11) //¶¨Òåºê£¬¶ÁIO¿Úp0.11µÄ¶Ë¿Ú״̬
//Åж϶˿Úp0.11ÊÇ·ñΪ¸ßµçƽ
if(READSDA==(1<<11))
{
¡­
}

±àÒëÆ÷ÔÚ±àÒëºó½«ºê´øÈë,Ô­ifÓï¾ä±äΪ:

ÔËËã·û'=='µÄÓÅÏȼ¶ÊÇ´óÓÚ'&'µÄ£¬´úÂëIO0PIN&(1<<11) ==(1<<11))µÈЧΪIO0PIN&0x00000001£ºÅж϶˿ÚP0.0ÊÇ·ñΪ¸ßµçƽ£¬ÕâÓëÔ­ÒâÏà²îÉõÔ¶¡£

ΪÁËÖÆÔì¸ü¶àµÄÈí¼þBug£¬CÓïÑÔµÄÔËËã·ûµ±È»²»»áÖ»Ö¹²½ÓÚÊýÄ¿·±¶à¡£ÔÚ´Ë»ù´¡ÉÏ£¬°´ÕÕ³£¹æ·½Ê½Ê¹ÓÃʱ£¬¿ÉÄÜÒýÆðÎó»áµÄÔËËã·û¸üÊDZȱȽÔÊÇ£¡ÈçϱíËùʾ£º

1.4 Òþʽת»»ºÍÇ¿ÖÆ×ª»»

ÕâÓÖÊÇCÓïÑÔµÄÒ»´ó¹îÒìÖ®´¦£¬ËüÔì³ÉµÄΣº¦³Ì¶ÈÓëÊý×éºÍÖ¸ÕëÓеÄһƴ¡£Óï¾ä»ò±í´ïʽͨ³£Ó¦¸ÃֻʹÓÃÒ»ÖÖÀàÐ͵ıäÁ¿ºÍ³£Á¿¡£È»¶ø£¬Èç¹ûÄã»ìºÏʹÓÃÀàÐÍ£¬CʹÓÃÒ»¸ö¹æÔò¼¯ºÏÀ´×Ô¶¯Íê³ÉÀàÐÍת»»¡£Õâ¿ÉÄܷܺ½±ã£¬µ«Ò²ºÜΣÏÕ¡£

a.µ±³öÏÖÔÚ±í´ïʽÀïʱ£¬ÓзûºÅºÍÎÞ·ûºÅµÄcharºÍshortÀàÐͶ¼½«×Ô¶¯±»×ª»»ÎªintÀàÐÍ£¬ÔÚÐèÒªµÄÇé¿öÏ£¬½«×Ô¶¯±»×ª»»Îªunsigned int£¨ÔÚshortºÍint¾ßÓÐÏàͬ´óСʱ£©¡£Õâ³ÆÎªÀàÐÍÌáÉý¡£ÌáÉýÔÚËãÊýÔËËãÖÐͨ³£²»»áÓÐʲô´óµÄ»µ´¦£¬µ«Èç¹ûλÔËËã·û ~ ºÍ << Ó¦ÓÃÔÚ»ù±¾ÀàÐÍΪunsigned char»òunsigned short µÄ²Ù×÷Êý£¬½á¹ûÓ¦¸ÃÁ¢¼´Ç¿ÖÆ×ª»»Îªunsigned char»òÕßunsigned shortÀàÐÍ£¨È¡¾öÓÚ²Ù×÷ʱʹÓõÄÀàÐÍ£©¡£

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
uint8_t port =0x5aU;
uint8_t result_8;
result_8= (~port) >> 4;

¼ÙÈçÎÒÃDz»Á˽â±í´ïʽÀïµÄÀàÐÍÌáÉý£¬ÈÏΪÔÚÔËËã¹ý³ÌÖбäÁ¿portÒ»Ö±ÊÇunsigned charÀàÐ͵ġ£ÎÒÃÇÀ´¿´Ò»ÏÂÔËËã¹ý³Ì£º~port½á¹ûΪ0xa5£¬0xa5>>4½á¹ûΪ0x0a£¬ÕâÊÇÎÒÃÇÆÚÍûµÄÖµ¡£µ«Êµ¼ÊÉÏ£¬result_8µÄ½á¹ûÈ´ÊÇ0xfa£¡ÔÚARM½á¹¹Ï£¬intÀàÐÍΪ32λ¡£±äÁ¿portÔÚÔËËãǰ±»ÌáÉýΪintÀàÐÍ£º~port½á¹ûΪ0xffffffa5£¬0xa5>>4½á¹ûΪ0x0ffffffa£¬¸³Öµ¸ø±äÁ¿result_8£¬·¢ÉúÀàÐͽضϣ¨ÕâÒ²ÊÇÒþʽµÄ£¡£©£¬result_8=0xfa¡£¾­¹ýÕâô¹îÒìµÄÒþʽת»»£¬½á¹û¸úÎÒÃÇÆÚÍûµÄÖµ£¬ÒѾ­´óÏྶͥ£¡ÕýÈ·µÄ±í´ïʽÓï¾äÓ¦¸ÃΪ£º

result_8=(unsigned char) (~port) >> 4; /*Ç¿ÖÆ×ª»»*/

b.ÔÚ°üº¬Á½ÖÖÊý¾ÝÀàÐ͵ÄÈκÎÔËËãÀÁ½¸öÖµ¶¼»á±»×ª»»³ÉÁ½ÖÖÀàÐÍÀï½Ï¸ßµÄ¼¶±ð¡£ÀàÐͼ¶±ð´Ó¸ßµ½µÍµÄ˳ÐòÊÇlong double¡¢double¡¢float¡¢unsigned long long¡¢long long¡¢unsigned long¡¢long¡¢unsigned int¡¢int¡£ÕâÖÖÀàÐÍÌáÉýͨ³£¶¼ÊǼþºÃÊ£¬µ«ÍùÍùÓкܶà³ÌÐòÔ±²»ÄÜÕæÕýÀí½âÕâ¾ä»°£¬´Ó¶ø×öһЩÏ뵱ȻµÄÊÂÇ飬±ÈÈçÏÂÃæµÄÀý×Ó£¬intÀàÐͱíʾ16λ¡£

cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
uint16_t u16a = 40000; /* 16λÎÞ·ûºÅ±äÁ¿*/
uint16_t u16b= 30000; /*16λÎÞ·ûºÅ±äÁ¿*/
uint32_t u32x; /*32λÎÞ·ûºÅ±äÁ¿ */
uint32_t u32y;
u32x = u16a +u16b; /* u32x = 70000»¹ÊÇ4464 ? */
u32y =(uint32_t)(u16a + u16b); /* u32y = 70000 »¹ÊÇ4464 ? */

u32xºÍu32yµÄ½á¹û¶¼ÊÇ4464£¨70000%65536£©£¡²»ÒªÈÏΪ±í´ïʽÖÐÓÐÒ»¸ö¸ßÀà±ðuint32_tÀàÐͱäÁ¿£¬±àÒëÆ÷¶¼»á°ïÄã°ÑËùÓÐÆäËûµÍÀà±ð¶¼ÌáÉýµ½uint32_tÀàÐÍ¡£ÕýÈ·µÄÊéд·½Ê½£º

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
u32x = (uint32_t)u16a +(uint32_t)u16b;»òÕߣº
u32x = (uint32_t)u16a + u16b;

ºóÒ»ÖÖд·¨ÔÚ±¾±í´ïʽÖÐÊÇÕýÈ·µÄ£¬µ«ÊÇÔÚÆäËü±í´ïʽÖв»Ò»¶¨ÕýÈ·£¬±ÈÈ磺

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
uint16_t u16a,u16b,u16c;
uint32_t u32x;
u32x= u16a + u16b + (uint32_t)u16c;/*´íÎóд·¨£¬u16a+ u16bÈÔ¿ÉÄÜÒç³ö*/

c.ÔÚ¸³ÖµÓï¾äÀ¼ÆËãµÄ×îºó½á¹û±»×ª»»³É½«Òª±»¸³ÓèÖµµÃÄǸö±äÁ¿µÄÀàÐÍ¡£ÕâÒ»¹ý³Ì¿ÉÄܵ¼ÖÂÀàÐÍÌáÉýÒ²¿ÉÄܵ¼ÖÂÀàÐͽµ¼¶¡£½µ¼¶¿ÉÄܻᵼÖÂÎÊÌâ¡£±ÈÈ罫ÔËËã½á¹ûΪ321µÄÖµ¸³Öµ¸ø8λcharÀàÐͱäÁ¿¡£³ÌÐò±ØÐë¶ÔÔËËãʱµÄÊý¾ÝÒç³ö×öºÏÀíµÄ´¦Àí¡£

ºÜ¶àÆäËûÓïÑÔ£¬ÏñPascalÓïÑÔ£¨ºÃЦµÄÊÇCÓïÑÔÉè¼ÆÕßÖ®Ò»Ôø×«ÎĺݺÝÅúÆÀ¹ýPascalÓïÑÔ£©£¬¶¼²»ÔÊÐí»ìºÏʹÓÃÀàÐÍ£¬µ«CÓïÑÔ²»»áÏÞÖÆÄãµÄ×ÔÓÉ£¬¼´±ãÕâ¾­³£ÒýÆðBug¡£

d.µ±×÷Ϊº¯ÊýµÄ²ÎÊý±»´«µÝʱ£¬charºÍshort»á±»×ª»»Îªint£¬float»á±»×ª»»Îªdouble¡£

e.CÓïÑÔÖ§³ÖÇ¿ÖÆÀàÐÍת»»£¬Èç¹ûÄã±ØÐëÒª½øÐÐÇ¿ÖÆÀàÐÍת»»Ê±£¬ÒªÈ·±£Äã¶ÔÀàÐÍת»»ÓÐ×ã¹»Á˽⣺

²¢·ÇËùÓÐÇ¿ÖÆÀàÐÍת»»¶¼ÊÇÓÉ·çÏյ쬰ÑÒ»¸öÕûÊýֵת»»ÎªÒ»ÖÖ¾ßÓÐÏàͬ·ûºÅµÄ¸ü¿íÀàÐÍʱ£¬ÊǾø¶Ô°²È«µÄ¡£

¾«¶È¸ßµÄÀàÐÍÇ¿ÖÆ×ª»»Îª¾«¶ÈµÍµÄÀàÐÍʱ£¬Í¨¹ý¶ªÆúÊʵ±ÊýÁ¿µÄ×î¸ßÓÐЧλÀ´»ñÈ¡½á¹û£¬Ò²¾ÍÊÇ˵»á·¢ÉúÊý¾Ý½Ø¶Ï£¬²¢ÇÒ¿ÉÄܸıäÊý¾ÝµÄ·ûºÅλ¡£

¾«¶ÈµÍµÄÀàÐÍÇ¿ÖÆ×ª»»Îª¾«¶È¸ßµÄÀàÐÍʱ£¬Èç¹ûÁ½ÖÖÀàÐ;ßÓÐÏàͬµÄ·ûºÅ£¬ÄÇôûʲôÎÊÌ⣻ÐèҪעÒâµÄÊǸºµÄÓзûºÅ¾«¶ÈµÍÀàÐÍÇ¿ÖÆ×ª»»ÎªÎÞ·ûºÅ¾«¶È¸ßÀàÐÍʱ£¬»á²»Ö±¹ÛµÄÖ´ÐзûºÅÀ©Õ¹£¬ÀýÈ磺

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
unsigned int bob;
signed char fred = -1;

bob=(unsigned int )fred; /*·¢Éú·ûºÅÀ©Õ¹£¬´ËʱbobΪ0xFFFFFFFF*/

һЩ±à³Ì½¨Ò飺

ÉîÈëÀí½âǶÈëʽCÓïÑÔÒÔ¼°±àÒëÆ÷

ϸÖ¡¢½÷É÷µÄ±à³Ì

ʹÓúõķç¸ñºÍºÏÀíµÄÉè¼Æ

²»Òª²Ö´Ù±àд´úÂ룬дÿһÐеĴúÂëʱ¶¼ÒªÈý˼¶øºóÐУº¿ÉÄÜ»á³öÏÖʲôÑùµÄ´íÎó£¿ÊÇ·ñ¿¼ÂÇÁËËùÓеÄÂß¼­·ÖÖ§£¿

´ò¿ª±àÒëÆ÷ËùÓо¯¸æ¿ª¹Ø

ʹÓþ²Ì¬·ÖÎö¹¤¾ß·ÖÎö´úÂë

°²È«µÄ¶ÁдÊý¾Ý£¨¼ì²éËùÓÐÊý×é±ß½ç¡­£©

¼ì²éÖ¸ÕëµÄºÏ·¨ÐÔ

¼ì²éº¯ÊýÈë¿Ú²ÎÊýºÏ·¨ÐÔ

¼ì²éËùÓзµ»ØÖµ

ÔÚÉùÃ÷±äÁ¿Î»Öóõʼ»¯ËùÓбäÁ¿

ºÏÀíµÄʹÓÃÀ¨ºÅ

½÷É÷µÄ½øÐÐÇ¿ÖÆ×ª»»

ʹÓúõÄÕï¶ÏÐÅÏ¢ÈÕÖ¾ºÍ¹¤¾ß

2. Åдí

¹¤ÓûÉÆÆäʱØÏÈÀûÆäÆ÷¡£ÅдíµÄ×îÖÕÄ¿µÄÊÇÓÃÀ´±©Â¶Éè¼ÆÖеÄBug²¢¼ÓÒÔ¸ÄÕý£¬ËùÒÔ½«´íÎóÐÅÏ¢Ìṩ¸ø±à³ÌÕßÊDZØÒªµÄ¡£ÓÐʱºòÐèÒª½«¹ÊÕÏÐÅÏ¢´¢´æÓÚ·ÇÒ×ʧÐÔ´æ´¢Æ÷ÖУ¬±ãÓڲ鿴¡£ÕâÀïÒÔʹÓô®¿Ú´òÓ¡´íÎóÐÅÏ¢µ½PCÏÔʾÆÁΪÀý£¬À´ËµÃ÷Ò»°ãÐèÒªÏÔʾʲôÐÅÏ¢¡£

±àд»òÒÆÖ²Ò»¸öÀàËÆC±ê×¼¿âÖеÄprintfº¯Êý£¬¿ÉÒÔ¸ñʽ»¯´òÓ¡×Ö·û¡¢×Ö·û´®¡¢Ê®½øÖÆÕûÊý¡¢Ê®Áù½øÖÆÕûÊý¡£ÕâÀï³ÆÎªUARTprintf£¨£©¡£

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
unsigned int WriteData(unsigned int addr)
{
if((addr>= BASE_ADDR)&&(addr<=END_ADDR)) {
¡­/*µØÖ·ºÏ·¨,½øÐд¦Àí*/
} else { /*µØÖ·´íÎ󣬴òÓ¡´íÎóÐÅÏ¢*/
UARTprintf ("Îļþ%sµÄµÚ %d ÐÐдÊý¾Ýʱ·¢ÉúµØÖ·´íÎó,
´íÎóµØÖ·Îª:0x%x\n",__FILE__,__LINE__,addr);
¡­/*´íÎó´¦Àí´úÂë*/
}

¼ÙÉèUARTprintf()º¯ÊýλÓÚmain.cÄ£¿éµÄµÚ256ÐУ¬²¢ÇÒWriteData()º¯ÊýÔÚ¶ÁÊý¾Ýʱ´«µÝÁË´íÎóµØÖ·0x00000011£¬Ôò»áÖ´ÐÐUARTprintf()º¯Êý£¬´òÓ¡ÈçÏÂËùʾµÄÐÅÏ¢£º

Îļþmain.cµÄµÚ256ÐÐдÊý¾Ýʱ·¢ÉúµØÖ·´íÎ󣬴íÎóµØÖ·Îª£º0x00000011¡£

ÀàËÆÕâÑùµÄÐÅÏ¢»áÓÐÖúÓÚ³ÌÐòÔ±¶¨Î»·ÖÎö´íÎó²úÉúµÄ¸ùÔ´£¬¸ü¿ìµÄÏû³ýBug¡£

2.1¾ßÓÐÐβεĺ¯Êý£¬ÐèÅжϴ«µÝÀ´µÄʵ²ÎÊÇ·ñºÏ·¨¡£

³ÌÐòÔ±¿ÉÄÜÎÞÒâʶµÄ´«µÝÁË´íÎó²ÎÊý£»Íâ½çµÄÇ¿¸ÉÈÅ¿ÉÄܽ«´«µÝµÄ²ÎÊýÐ޸ĵô£¬»òÕßʹÓÃËæ»ú²ÎÊýÒâÍâµÄµ÷Óú¯Êý£¬Òò´ËÔÚÖ´Ðк¯ÊýÖ÷Ìåǰ£¬ÐèÒªÏÈÈ·¶¨Êµ²ÎÊÇ·ñºÏ·¨¡£

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
int exam_fun( unsigned char *str )
{
if( str != NULL ){ // ¼ì²é¡°¼ÙÉèÖ¸Õ벻Ϊ¿Õ¡±Õâ¸öÌõ¼þ

... //Õý³£´¦Àí´úÂë
} else {
UARTprintf(¡­); // ´òÓ¡´íÎóÐÅÏ¢
¡­//´¦Àí´íÎó´úÂë
}
}

2.2 ×Ðϸ¼ì²éº¯ÊýµÄ·µ»ØÖµ

¶Ôº¯Êý·µ»ØµÄ´íÎóÂ룬Ҫ½øÐÐÈ«Ãæ×Ðϸ´¦Àí£¬±ØÒªÊ±×ö´íÎó¼Ç¼¡£

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
char *DoSomething(¡­)
{
char * p;
p=malloc(1024);
if(p==NULL) { /*¶Ôº¯Êý·µ»ØÖµ×÷³öÅжÏ*/
UARTprintf(¡­); /*´òÓ¡´íÎóÐÅÏ¢*/
return NULL;
}
retuen p;
}

2.3 ·ÀÖ¹Ö¸ÕëÔ½½ç

Èç¹û¶¯Ì¬¼ÆËãÒ»¸öµØÖ·Ê±£¬Òª±£Ö¤±»¼ÆËãµÄµØÖ·ÊǺÏÀíµÄ²¢Ö¸Ïòij¸öÓÐÒâÒåµÄµØ·½¡£Ìرð¶ÔÓÚÖ¸ÏòÒ»¸ö½á¹¹»òÊý×éµÄÄÚ²¿µÄÖ¸Õ룬µ±Ö¸ÕëÔö¼Ó»òÕ߸ıäºóÈÔȻָÏòͬһ¸ö½á¹¹»òÊý×é¡£

2.4 ·ÀÖ¹Êý×éÔ½½ç

Êý×éÔ½½çµÄÎÊÌâǰÎÄÒѾ­½²ÊöµÄºÜ¶àÁË£¬ÓÉÓÚC²»»á¶ÔÊý×é½øÐÐÓÐЧµÄ¼ì²â£¬Òò´Ë±ØÐëÔÚÓ¦ÓÃÖÐÏÔʽµÄ¼ì²âÊý×éÔ½½çÎÊÌâ¡£ÏÂÃæµÄÀý×Ó¿ÉÓÃÓÚÖжϽÓÊÕͨѶÊý¾Ý¡£

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
#define REC_BUF_LEN 100
unsigned char RecBuf[REC_BUF_LEN];
¡­ //ÆäËü´úÂë
void Uart_IRQHandler(void)
{
static RecCount=0; //½ÓÊÕÊý¾Ý³¤¶È¼ÆÊýÆ÷
¡­ //ÆäËü´úÂë
if(RecCount< REC_BUF_LEN){
RecBuf[RecCount]=¡­; //´ÓÓ²¼þÈ¡Êý¾Ý
RecCount++;
¡­ //ÆäËü´úÂë
} else {
UARTprintf(¡­); //´òÓ¡´íÎóÐÅÏ¢
¡­ //ÆäËü´íÎó´¦Àí´úÂë
}
¡­
}

ÔÚʹÓÃһЩ¿âº¯Êýʱ£¬Í¬ÑùÐèÒª¶Ô±ß½ç½øÐмì²é£º

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
#define REC_BUF_LEN 100
unsigned char RecBuf[REC_BUF_LEN];

if(len< REC_BUF_LEN){
memset(RecBuf,0,len); //½«Êý×éRecBufÇåÁã
} else {
//´¦Àí´íÎó
}

 

2.5 ÊýѧËãÊýÔËËã

¼ì²â³ýÊýÊÇ·ñΪÁã

¼ì²âÔËËãÒç³öÇé¿ö

2.5.1 ÓзûºÅÕûÊý³ý·¨£¬½ö¼ì²â³ýÊýΪÁã¾Í¹»ÁËÂð?

Á½¸öÕûÊýÏà³ý£¬³ýÁËÒª¼ì²â³ýÊýÊÇ·ñΪÁãÍ⣬»¹Òª¼ì²â³ý·¨ÊÇ·ñÒç³ö¡£¶ÔÓÚÒ»¸ösigned longÀàÐͱäÁ¿£¬ËüÄܱíʾµÄÊýÖµ·¶Î§Îª£º-2147483648 ~ +2147483647£¬Èç¹ûÈÃ-2147483648 / -1£¬ÄÇô½á¹ûÓ¦¸ÃÊÇ+ 2147483648£¬µ«ÊÇÕâ¸ö½á¹ûÒѾ­³¬³öÁËsigned longËùÄܱíʾµÄ·¶Î§ÁË¡£

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
#include <limits.h>
signed long sl1,sl2,result;
/*³õʼ»¯sl1ºÍsl2*/
if((sl2==0)||((sl1==LONG_MIN) && (sl2==-1))){
//´¦Àí´íÎó
} else {
result = sl1 / sl2;
}

2.5.2 ¼Ó·¨Òç³ö¼ì²â

a£©ÎÞ·ûºÅ¼Ó·¨

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
#include <limits.h>
unsigned int a,b,result;
/*³õʼ»¯a£¬b*/
if(UINT_MAX-a<b){
//´¦ÀíÒç³ö
} else {
result=a+b;
}

b£©ÓзûºÅ¼Ó·¨

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
#include <limits.h>
signed int a,b,result;
/*³õʼ»¯a£¬b */
if((a>0 && INT_MAX-a<b)||(a<0) && (INT_MIN-a>b)){
//´¦ÀíÒç³ö
} else {
result=a+b;
}

2.5.3 ³Ë·¨Òç³ö¼ì²â

a£©ÎÞ·ûºÅ³Ë·¨

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
#include <limits.h>
unsigned int a,b,result;
/*³õʼ»¯a£¬b*/
if((a!=0) && (UINT_MAX/a<b)) {
//
} else {
result=a*b;
}

b£©ÓзûºÅ³Ë·¨

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
#include <limits.h>
signed int a,b,tmp,result;
/*³õʼ»¯a£¬b*/
tmp=a * b;
if(a!=0 && tmp/a!=b){
//
} else {
result=tmp;
}

¼ì²âÒÆÎ»Ê±¶ªÊ§ÓÐЧλ

2.6 ÆäËü¿ÉÄܳöÏÖÔËÐÐʱ´íÎóµÄµØ·½

ÔËÐÐʱ´íÎó¼ì²éÊÇC ³ÌÐòÔ±ÐèÒª¼ÓÒÔÌØ±ðµÄ×¢ÒâµÄ£¬ÕâÊÇÒòΪCÓïÑÔÔÚÌṩÈκÎÔËÐÐʱ¼ì²â·½ÃæÄÜÁ¦½ÏÈõ¡£¶ÔÓÚÒªÇó¿É¿¿ÐԽϸߵÄÈí¼þÀ´Ëµ£¬¶¯Ì¬¼ì²âÊDZØÐèµÄ¡£Òò´ËC ³ÌÐòÔ±ÐèÒª½÷É÷¿¼ÂǵÄÎÊÌâÊÇ£¬ÔÚÈκοÉÄܳöÏÖÔËÐÐʱ´íÎóµÄµØ·½Ôö¼Ó´úÂëµÄ¶¯Ì¬¼ì²â¡£´ó¶àÊýµÄ¶¯Ì¬¼ì²âÓëÓ¦ÓýôÃÜÏà¹Ø£¬ÔÚ³ÌÐòÉè¼Æ¹ý³ÌÖÐÒª¸ù¾ÝϵͳÐèÇóÉèÖö¯Ì¬´úÂë¼ì²â¡£

3.ÈÝ´í

1980Ä꣬ÃÀËÕÉд¦ÓÚÀäÕ½½×¶Î¡£ÕâÄ꣬±±ÃÀ·À¿ÕÁªºÏ˾Áî²¿Ôø±¨¸æ³ÆÃÀ¹úÔâÊܵ¼µ¯Ï®»÷¡£ºóÀ´Ö¤Êµ£¬ÕâÊÇ·´À¡ÏµÍ³µç·¹ÊÕÏÎÊÌ⣬µ«·´À¡ÏµÍ³Èí¼þûÓп¼ÂǹÊÕÏÎÊÌâÒý·¢µÄÎ󱨡£

3.1 ¹Ø¼üÊý¾Ý¶àÇø±¸·Ý£¬È¡Êý¾Ý²ÉÓá°±í¾ö·¨¡±

RAMÖеÄÊý¾ÝÔÚÊܵ½¸ÉÈÅÇé¿öÏÂÓпÉÄܱ»¸Ä±ä£¬¶ÔÓÚϵͳ¹Ø¼üÊý¾Ý±ØÐë½øÐб£»¤¡£¹Ø¼üÊý¾Ý°üÀ¨È«¾Ö±äÁ¿¡¢¾²Ì¬±äÁ¿ÒÔ¼°ÐèÒª±£»¤µÄÊý¾ÝÇøÓò¡£Êý¾Ý±¸·ÝÓëÔ­Êý¾Ý²»Ó¦¸Ã´¦ÓÚÏàÁÚλÖã¬Òò´Ë²»Ó¦ÓɱàÒëÆ÷ĬÈÏ·ÖÅ䱸·ÝÊý¾ÝλÖ㬶øÓ¦¸ÃÓɳÌÐòÔ±Ö¸¶¨ÇøÓò´æ´¢¡£¿ÉÒÔ½«RAM·ÖΪ3¸öÇøÓò£¬µÚÒ»¸öÇøÓò±£´æÔ­Â룬µÚ¶þ¸öÇøÓò±£´æ·´Â룬µÚÈý¸öÇøÓò±£´æÒì»òÂë£¬ÇøÓòÖ®¼äÔ¤ÁôÒ»¶¨Á¿µÄ¡°¿Õ°×¡±RAM×÷Ϊ¸ôÀë¡£¿ÉÒÔʹÓñàÒëÆ÷µÄ¡°·ÖÉ¢¼ÓÔØ¡±»úÖÆ½«±äÁ¿·Ö±ð´æ´¢ÔÚÕâÐ©ÇøÓò¡£ÐèÒª½øÐжÁȡʱ£¬Í¬Ê±¶Á³ö3·ÝÊý¾Ý²¢½øÐбí¾ö£¬È¡ÖÁÉÙÓÐÁ½¸öÏàͬµÄÄǸöÖµ¡£

3.2 ·ÇÒ×ʧÐÔ´æ´¢Æ÷µÄÊý¾Ý´æ´¢

·ÇÒ×ʧÐÔ´æ´¢Æ÷°üÀ¨µ«²»ÏÞÓÚFlash¡¢EEPROM¡¢Ìúµç¡£½ö½ö½«Ð´Èë·ÇÒ×ʧÐÔ´æ´¢Æ÷ÖеÄÊý¾ÝÔÙ¶Á³öУÑéÊDz»¹»µÄ¡£Ç¿¸ÉÈÅÇé¿öÏ¿ÉÄܵ¼Ö·ÇÒ×ʧÐÔ´æ´¢Æ÷ÄÚµÄÊý¾Ý´íÎó£¬ÔÚд·ÇÒ×ʧÐÔ´æ´¢Æ÷µÄÆÚ¼äϵͳµôµç½«µ¼ÖÂÊý¾Ý¶ªÊ§£¬Òò¸ÉÈŵ¼Ö³ÌÐòÅܷɵ½Ð´·ÇÒ×ʧÐÔ´æ´¢Æ÷º¯ÊýÖУ¬½«µ¼ÖÂÊý¾Ý´æ´¢ÎÉÂÒ¡£Ò»ÖÖ¿É¿¿µÄ°ì·¨Êǽ«·ÇÒ×ʧÐÔ´æ´¢Æ÷·Ö³É¶à¸öÇø£¬Ã¿¸öÊý¾Ý¶¼½«°´ÕÕ²»Í¬µÄÐÎʽдÈëµ½ÕâЩ·ÖÇøÖУ¬ÐèÒª½øÐжÁȡʱ£¬Í¬Ê±¶Á³ö¶à·ÝÊý¾Ý²¢½øÐбí¾ö£¬È¡ÏàͬÊýÄ¿½Ï¶àµÄÄǸöÖµ¡£

¶ÔÓÚÒò¸ÉÈŵ¼Ö³ÌÐòÅܷɵ½Ð´·ÇÒ×ʧÐÔ´æ´¢Æ÷º¯Êý£¬»¹Ó¦¸ÃÅäºÏÈí¼þËøÒÔ¼°ÑϸñµÄÈë¿Ú¼ìÑ飬µ¥µ¥ÒÀ¿¿Ð´Êý¾Ýµ½¶à¸öÇøÊDz»¹»µÄÒ²ÊDz»Ã÷Öǵģ¬Ó¦¸ÃÔÚÔ´Í·½øÐÐ×è½Ø¡£

3.3 Èí¼þËø

Èí¼þËø¿ÉÒÔʵÏÖµ«²»¾ÖÏÞÓÚ»·»·Ïà¿Û¡£¶ÔÓÚ³õʼ»¯ÐòÁлòÕßÓÐÒ»¶¨ÏȺó˳ÐòµÄº¯Êýµ÷Óã¬ÎªÁ˱£Ö¤µ÷ÓÃ˳Ðò»òÕßÈ·±£Ã¿¸öº¯Êý¶¼±»µ÷Óã¬ÎÒÃÇ¿ÉÒÔʹÓû·»·Ïà¿Û£¬ÊµÖÊÉÏÕâÒ²ÊÇÒ»ÖÖÈí¼þËø¡£´ËÍâ¶ÔÓÚһЩ°²È«¹Ø¼ü´úÂëÓï¾ä£¨ÊÇÓï¾ä£¬¶ø²»ÊǺ¯Êý£©£¬¿ÉÒÔ¸øËüÃÇÉèÖÃÈí¼þËø£¬Ö»ÓгÖÓÐÌØ¶¨Ô¿³×µÄ£¬²Å¿ÉÒÔ·ÃÎÊÕâЩ¹Ø¼ü´úÂë¡£±ÈÈ磬ÏòFlashдһ¸öÊý¾Ý£¬ÎÒÃÇ»áÅжÏÊý¾ÝÊÇ·ñºÏ·¨¡¢Ð´ÈëµÄµØÖ·ÊÇ·ñºÏ·¨£¬¼ÆËãҪдÈëµÄÉÈÇø¡£Ö®ºóµ÷ÓÃдFlash×Ó³ÌÐò£¬ÔÚÕâ¸ö×Ó³ÌÐòÖУ¬ÅжÏÉÈÇøµØÖ·ÊÇ·ñºÏ·¨¡¢Êý¾Ý³¤¶ÈÊÇ·ñºÏ·¨£¬Ö®ºó¾ÍÒª½«Êý¾ÝдÈëFlash¡£ÓÉÓÚдFlashÓï¾äÊǰ²È«¹Ø¼ü´úÂ룬ËùÒÔ³ÌÐò¸øÕâЩÓï¾äÉÏËø£º±ØÐë¾ßÓÐÕýÈ·µÄÔ¿³×²Å¿ÉÒÔдFlash¡£ÕâÑù¼´Ê¹ÊdzÌÐòÅܷɵ½Ð´Flash×Ó³ÌÐò£¬Ò²ÄÜ´ó´ó½µµÍÎóдµÄ·çÏÕ¡£

3.4 ͨÐÅÊý¾ÝµÄ¼ì´í

ͨѶÏßÉϵÄÊý¾ÝÎóÂëÏà¶ÔÑÏÖØ£¬Í¨Ñ¶ÏßÔ½³¤£¬Ëù´¦µÄ»·¾³Ô½¶ñÁÓ£¬ÎóÂë»áÔ½ÑÏÖØ¡£Í¨Ñ¶Êý¾Ý³ýÁË´«Í³µÄÓ²¼þÆæÅ¼Ð£ÑéÍ⣬»¹Ó¦¸ÃÔö¼ÓÈí¼þCRCУÑé¡£³¬¹ý16×Ö½ÚµÄÊý¾ÝÓ¦ÖÁÉÙʹÓÃCRC16¡£ÔÚͨѶ¹ý³ÌÖУ¬Èç¹û¼ì²âµ½·¢ÉúÁËÊý¾Ý´íÎó£¬ÔòÒªÇóÖØÐ·¢Ë͵±Ç°Ö¡Êý¾Ý¡£

3.5 ¿ª¹ØÁ¿ÊäÈëµÄ¼ì²â¡¢È·ÈÏ

¿ª¹ØÁ¿ÈÝÒ×Êܵ½¼âÂö³å¸ÉÈÅ£¬Èç¹û²»½øÐÐÂ˳ý£¬¿ÉÄÜ»áÔì³ÉÎó¶¯×÷¡£Ò»°ãÇé¿öÏ£¬ÐèÒª¶Ô¿ª¹ØÁ¿ÊäÈëÐźŽøÐжà´Î²ÉÑù£¬²¢½øÐÐÂß¼­ÅжÏÖ±µ½È·ÈÏÐźÅÎÞÎóΪֹ¡£¶à´Î²ÉÑùÖ®¼äÐèÒªÓÐÒ»¶¨Ê±¼ä¼ä¸ô£¬¾ßÌå¸ú¿ª¹ØÁ¿µÄ×î´óÇл»ÆµÂÊÓйأ¬Ò»°ã²»Ð¡ÓÚ1ms¡£

3.6 ¿ª¹ØÁ¿Êä³ö

¿ª¹ØÐźżòµ¥µÄÒ»´ÎÊä³öÊDz»°²È«µÄ£¬¸ÉÈÅÐźſÉÄܻᷭת¿ª¹ØÁ¿Êä³öµÄ״̬¡£²ÉÈ¡ÖØ¸´Ë¢ÐÂÊä³ö¿ÉÒÔÓÐЧ·ÀÖ¹µçƽµÄ·­×ª¡£

3.7 ³õʼ»¯ÐÅÏ¢µÄ±£´æÓë»Ö¸´

΢´¦ÀíÆ÷µÄ¼Ä´æÆ÷ÖµÒ²¿ÉÄÜ»áÒòÍâ½ç¸ÉÈŶø¸Ä±ä£¬ÍâÉè³õʼ»¯ÖµÐèÒªÔڼĴæÆ÷Öг¤ÆÚ±£´æ£¬×îÈÝÒ×±»ÆÆ»µ¡£ÓÉÓÚFlashÖеÄÊý¾ÝÏà¶Ô²»Ò×±»ÆÆ»µ£¬¿ÉÒÔ½«³õʼ»¯ÐÅÏ¢Ô¤ÏÈдÈëFlash£¬´ý³ÌÐò¿ÕÏÐʱ±È½ÏÓë³õʼ»¯Ïà¹ØµÄ¼Ä´æÆ÷ÖµÊÇ·ñ±»¸ü¸Ä£¬Èç¹û·¢ÏÖ·Ç·¨¸ü¸ÄÔòʹÓÃFlashÖеÄÖµ½øÐлָ´¡£

3.8 ÏÝÚå

¶ÔÓÚ8051Äں˵¥Æ¬»ú£¬ÓÉÓÚûÓÐÏàÓ¦µÄÓ²¼þÖ§³Ö£¬¿ÉÒÔÓô¿Èí¼þÉèÖÃÈí¼þÏÝÚ壬ÓÃÀ´À¹½ØÒ»Ð©³ÌÐòÅÜ·É¡£¶ÔÓÚARM7»òÕßCortex-MϵÁе¥Æ¬»ú£¬Ó²¼þÒѾ­ÄÚ½¨Á˶àÖÖÒì³££¬Èí¼þÐèÒª¸ù¾ÝÓ²¼þÒì³£À´±àдÏÝÚå³ÌÐò£¬ÓÃÀ´¿ìËÙ¶¨Î»ÉõÖÁ»Ö¸´´íÎó¡£

3.9 whileÑ­»·

ÓÐʱºò³ÌÐòÔ±»áʹÓÃwhile(!flag);Óï¾äÀ´µÈ´ý±êÖ¾flag¸Ä±ä£¬±ÈÈç´®¿Ú·¢ËÍʱÓÃÀ´µÈ´ýÒ»×Ö½ÚÊý¾Ý·¢ËÍÍê³É¡£ÕâÑùµÄ´úÂëʱ´æÔÚ·çÏյģ¬Èç¹ûÒòΪijЩԭÒò±ê־λһֱ²»¸Ä±äÔò»áÔì³ÉϵͳËÀ»ú¡£Á¼ºÃÈßÓàµÄ³ÌÐòÊÇÉèÖÃÒ»¸ö³¬Ê±¶¨Ê±Æ÷£¬³¬¹ýÒ»¶¨Ê±¼äºó£¬Ç¿ÖƳÌÐòÍ˳öwhileÑ­»·¡£

2003Äê8ÔÂ11ÈÕ·¢ÉúµÄW32.Blaster.WormÈ䳿ʼþµ¼ÖÂÈ«Çò¾­¼ÃËðʧ¸ß´ï5ÒÚÃÀÔª£¬Õâ¸ö©¶´ÊÇÀûÓÃÁËWindows·Ö²¼Ê½×é¼þ¶ÔÏóÄ£Ð͵ÄÔ¶³Ì¹ý³Ìµ÷ÓýӿÚÖеÄÒ»¸öÂß¼­È±ÏÝ£ºÔÚµ÷ÓÃGetMachineName()º¯Êýʱ£¬Ñ­»·Ö»ÉèÖÃÁËÒ»¸ö²»³ä·ÖµÄ½áÊøÌõ¼þ¡£

Ô­´úÂë¼ò»¯ÈçÏÂËùʾ£º

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
HRESULT GetMachineName ( WCHAR *pwszPath,
WCHARwszMachineName[MAX_COMPUTTERNAME_LENGTH_FQDN+1])
{
WCHAR *pwszServerName = wszMachineName;
WCHAR *pwszTemp = pwszPath + 2;
while ( *pwszTemp != L¡¯\\¡¯ ) /* Õâ¾ä´úÂëÑ­»·½áÊøÌõ¼þ²»³ä·Ö */
*pwszServerName++= *pwszTemp++;
/*¡­ */
}

΢Èí·¢²¼µÄ°²È«²¹¶¡MS03-026½â¾öÁËÕâ¸öÎÊÌ⣬ΪGetMachineName()º¯ÊýÉèÖÃÁ˳ä·ÖÖÕÖ¹Ìõ¼þ¡£Ò»¸ö½â¾ö´úÂë¼ò»¯ÈçÏÂËùʾ£¨²¢·Ç΢Èí²¹¶¡´úÂ룩£º

[cpp] view plain copy print?ÔÚCODEÉϲ鿴´úÂëÆ¬ÅÉÉúµ½ÎҵĴúÂëÆ¬
HRESULT GetMachineName( WCHAR *pwszPath,
WCHARwszMachineName
[MAX_COMPUTTERNAME_LENGTH_FQDN+1])
{
WCHAR *pwszServerName = wszMachineName;
WCHAR *pwszTemp = pwszPath + 2;
WCHAR *end_addr =
pwszServerName +MAX_COMPUTTERNAME_LENGTH_FQDN£»
while (£¨*pwszTemp != L¡¯\\¡¯ ) && (*pwszTemp != L¡¯\0¡¯)
&& (pwszServerName<end_addr)) /*³ä·ÖÖÕÖ¹Ìõ¼þ*/
*pwszServerName++= *pwszTemp++;
/*¡­ */
}

3.10 ϵͳ×Ô¼ì

¶ÔCPU¡¢RAM¡¢Flash¡¢Íⲿµôµç±£´æ´æ´¢Æ÷ÒÔ¼°ÆäËûÏß·×Լ졣

 

   
4522 ´Îä¯ÀÀ       28
 
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
 
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
 
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤