1. Á÷Ë®Ïß±»Ö¸ÁîÌîÂúʱ²ÅÄÜ·¢»Ó×î´óЧÄÜ£¬¼´Ã¿Ê±ÖÓÖÜÆÚÍê³ÉÒ»ÌõÖ¸ÁîµÄÖ´ÐÐ(½öÖ¸µ¥ÖÜÆÚÖ¸Áî)¡£
Èç¹û³ÌÐò·¢ÉúÌøת£¬Á÷Ë®Ï߻ᱻÇå¿Õ£¬Õ⽫ÐèÒª¼¸¸öʱÖÓ²ÅÄÜʹÁ÷Ë®ÏßÔÙ´ÎÌîÂú¡£Òò´Ë£¬¾¡Á¿ÉÙµÄʹÓÃÌøתָÁî¿ÉÒÔÌá¸ß³ÌÐòÖ´ÐÐЧÂÊ£¬½â¾ö
2. ÔÚLPC2200ϵÁÐÖУº
¿ÉÒÔͨ¹ý¹ýÏÂÃæµÄ³ÌÐòÑÓ³Ù10ºÁÃ룺
for(i=0;i<200;i++)
{
for(j=0;j<200;j++);
}
3. ͨ¹ýÏÂÃæÓï¾ä½«Ò»¸ö16λµÄ±äÁ¿·ÅÔÚÁ½¸ö8λµÄ±äÁ¿ÖС£
//IPÊý¾Ý±¨×ܳ¤¶È¸ß×Ö½Ú
IpHeadUint8[10]=(IpHead.e_ip.Crc&0xff00)>>8;
//IPÊý¾Ý±¨×ܳ¤¶ÈµÍ×Ö½Ú
IpHeadUint8[11]=IpHead.e_ip.Crc&0x00ff;
4. ÔÚ¶ÔÈ«²¿Êý×éÔªËظ³
eg;inta={1,2,3,4,5};
µ«Èç¹ûµ±Êä³öµÚa[5]ÒÔÉϵÄÔªËØʱ£¬ÏµÍ³
5. ÓÉÓÚADSÏÈÌìÐԵĶÔprintf²»Ö§³Ö;Òò´Ë²»±ãÓÚÎÒÃǵ÷ÊÔ£¬¿ÉÒÔÀûÓô®¿ÚÊä³öÀ´´úÌæprintfÀ´µ÷ÊÔ¡£
6. ÓûòÔËË㣬¿ÉʹijλÖÃΪ1£¬ÆäËüλ²»±ä
eg: PINSEL0 |= 0x00000005; //ÉèÖô®¿ÚÒý½Å
ʹµÚ0λºÍµÚ¶þλÖÃÒ»£¬ÆäËûλ²»±ä¡£
7. º¯ÊýÖ¸Õë
1> CÓïÑÔÖк¯ÊýÃûÖ±½Ó¶ÔÓ¦ÓÚº¯ÊýÉú³ÉµÄÖ¸Áî´úÂëÔÚÄÚ´æÖеĵØÖ·£¬Òò´Ëº¯ÊýÃû¿ÉÒÔÖ±½Ó¸³¸øÖ¸Ïòº¯ÊýµÄÖ¸Õë¡£
2> µ÷Óú¯Êýʵ¼ÊÉϵÈͬÓÚ¡°µ÷ÓÃÖ¸Áî+²ÎÊý´«µÝ´¦Àí+»Ø¹éλÖÃÈëÕ»¡±£¬±¾ÖÊÉÏ×îºËÐĵIJÙ×÷Êǽ«º¯ÊýÉú³ÉµÄÄ¿±ê´úÂëµÄÊ×µØÖ·¸³¸øCPUµÄPC¼Ä´æÆ÷¡£
3> ÒòΪº¯Êýµ÷Óõı¾ÖÊÊÇÌøתµ½Ä³Ò»¸öµØÖ·µ¥ÔªµÄcodeÈ¥Ö´ÐУ¬ËùÒÔ¿ÉÒÔ¡°µ÷ÓÃÒ»¸ö¸ù±¾¾Í²»´æÔÚÔÚº¯ÊýʵÌå¡£
4> int (*p);¶¨ÒåpÊÇÒ»¸öÖ¸Ïòº¯ÊýµÄÖ¸Õë±äÁ¿£¬´Îº¯Êý·µ»Ø´ø»ØÕûÐ͵ķµ»ØÖµ¡£*PÁ½²àµÄÀ¨ºÅ²»ÄÜÊ¡ÂÔ£¬±íʾpÏÈ
Çø±ð£ºint *p±íʾÕâ¸öº¯ÊýµÄ·µ»ØÖµÊÇÖ¸ÏòÕûÐͱäÁ¿µÄÖ¸Õë¡£
˵Ã÷£º
(1) Ö¸Ïòº¯ÊýµÄÖ¸Õë±äÁ¿µÄÒ»°ã¶¨ÒåÐÎʽΪ£º
Êý¾ÝÀàÐÍ (*Ö¸Õë±äÁ¿Ãû);
1> ´Ë´¦µÄ¡°Êý¾ÝÀàÐÍ¡±ÊÇÖ¸º¯Êý·µ»ØÖµµÄÀàÐÍ
(2) ·µ»ØÖ¸ÕëÖµµÄº¯Êý£º
ÀàÐÍÃû *º¯ÊýÃû(²ÎÊý±í)
eg: int * func(int x,int y)
funcÊǺ¯ÊýÃû£¬µ÷ÓÃËüÒÔºóÄÜ·µ»ØÒ»¸öÖ¸ÏòÕûÐÍÊý¾ÝµÄÖ¸Õë¡£x,yÊÇfuncµÄÐβΡ£Çø±ð·½·¨£º
a.´ÓÓÒÍù×óÕÒµÚÒ»¸öÀ¨ºÅ£¬À¨ºÅÀïÃæµÄÊǺ¯ÊýµÄÐβΡ£
b.À¨ºÅÍâÃæµÄµÚÒ»¸ö±êʶ·ûÊǺ¯ÊýµÄÃû×Ö£¬º¯ÊýÇ°ÃæµÄ±íʾº¯ÊýµÄ·µ»ØÊýÖµ¡£
8. Êý×éÖ¸Õë
1>int (*p)[4]
±íʾ*pÓÐ4¸öÔªËØ£¬Ã¿¸öÔªËØΪÕûÐÍ¡£Ò²¾ÍÊÇpËùÖ¸µÄ¶ÔÏóÓÐ4¸öÕûÐÍÔªËصÄÊý×飬
2> Ö¸ÕëÊý×é
Ø Ò»¸öÊý×飬ÆäÔªËؾùΪָÕëÀàÐÍÊý¾Ý£¬³ÆΪָÕëÊý×é;¼´Ö¸ÕëÊý×éÖеÄÿһ¸öÔªËض¼Ï൱ÓÚÒ»¸öÖ¸Õë±äÁ¿¡£
Ø Ò»Î¬Ö¸ÕëÊý×éµÄ¶¨ÒåÐÎʽΪ£º
ÀàÐÍÃû *Êý×éÃû[Êý×鳤¶È]
eg£ºint *p[4]:
×÷ÓãºËüÓÃÓÚÖ¸ÏòÈô¸É¸ö×Ö·û´®£¬Ê¹×Ö·û´®´¦Àí¸ü¼Ó·½±ãÁé»î¡£ÊÊÓÃÓÚÒ»¸ö¶þά×Ö·û´®Êý×飬ÆäÖÐÿһÐеÄ×Ö·ûÊý×éµÄ³¤¶È¸÷²»Ïàͬ
eg:char * name={¡°Follow me¡±,¡±BASIC¡±,¡±GreatWall¡±};
9. ½á¹¹Ìå
1> ¿ÉÒÔÓýṹÌå±äÁ¿×öʵ²Î¡£µ«ÊÇÓýṹÌå±äÁ¿×÷ʵ²Îʱ£¬²ÉÈ¡µÄÊÇ¡°Öµ´«µÝ¡±µÄ·½Ê½£¬½«½á¹¹Ìå±äÁ¿ËùÕ¼µÄÄÚ´æµ¥ÔªµÄÄÚÈÝÈ«²¿Ë³ÐòµÝ¸øÐβΡ£ÐβÎÒ²±ØÐëÊÇͬÀàÐ͵ĽṹÌå±äÁ¿¡£
eg:pint(su);//×¢ÔÚ´Ë´¦suΪ½á¹¹Ìå
×¢£ºÕâÖÖ´«µÝ·½Ê½ÔÚ¿Õ¼äºÍʱ¼äÉÏ¿ªÏú½Ï´ó£¬Èç¹û½á¹¹ÌåµÄ¹æÄ£½Ï´óʱ£¬¿ªÏúÊǺܿɹ۵ġ£
2> ÓÃÖ±Ïò½á¹¹Ìå±äÁ¿(»òÊý×é)µÄÖ¸Õë×÷ʵ²Î£¬½«½á¹¹Ìå±äÁ¿(»òÊý×é)µÄµØÖ·´«¸øÐβÎ
eg:print(&su);//×¢ÔÚ´Ë´¦suΪ½á¹¹Ìå
10. ¹²ÓÃÌå
1> ¹²ÓÃÌå°Ñ¼¸ÖÖ²»Í¬Êý¾ÝÀàÐ͵ıäÁ¿´æ·ÅÔÚͬһ¿éÄÚ´æÀï¡£¹«ÓÃÌåÖеıäÁ¿¹²Ïíͬһ¿éÄÚ´æ¡£
2> ¶¨Ò幫ÓÃÌåÀàÐͱäÁ¿µÄÒ»°ãÐÎʽΪ£º
union ¹²ÓÃÌåÃû
{
³ÉÔ±Áбí;
}±äÁ¿Áбí;
3>ÔÚ¹²ÓÃÌåÖÐͬһ¿éÄÚ´æ¿ÉÒÔÓÃÀ´´æ·Å¼¸ÖÖ²»Í¬ÀàÐ͵ÄÊý¾Ý£¬µ«ÔÚijһʱ¿ÌÖ»ÄÜÔÚÆäÖдæ·ÅÒ»¸ö³ÉÔ±±äÁ¿¡£¹²ÓÃÌå±äÁ¿ÖÐÆð×÷ÓõijÉÔ±ÊÇ×îºóÒ»´Î´æÈëµÄÊý¾Ý¡£
eg: union data
{
int i;
char c;
double d;
};
union data a;
¹²ÓÃÌå±äÁ¿aÖеijÉÔ±i,c,dÈý¸ö±äÁ¿ÔÚÄÚ´æÖдÓͬһ¸öµØÖ·¿ªÊ¼´æ´¢¡£Èç½øÐÐÈçϸ³Öµ£º
a.i = 100;
a.c = ¡®A¡¯;
ÄÇô´Ëʱ¹²ÓÃÌå±äÁ¿aÖеijÉÔ±iÒѾûÓÐÖµÁË£¬ÒòΪ´æ´¢¸ÃÖµµÄÄÚ´æÏÖÔÚÒѾ±»ÓÃÀ´´æ´¢³ÉÔ±cµÄÖµÁË¡£
3> ¹²ÓÃÌå±äÁ¿µÄ³¤¶ÈÈ¡¾öÓÚÆä³ÉÔ±µÄ×î´ó³¤¶È£º
˵Ã÷£º
½á¹¹Ìå±äÁ¿ËùÕ¼ÄÚ´æµÄ³¤¶ÈÊǸ÷¸ö³ÉÔ±µÄ×ܺͣ¬Ã¿¸ö³ÉÔ±·Ö±ðÕ¼ÓÐ×Ô¼ºµÄ´æ´¢¿Õ¼ä¡£¹²ÓÃÌå±äÁ¿ËùÕ¼ÄÚ´æµÄ³¤¶ÈÊÇÆä×³ÉÔ±µÄ³¤¶È¡£µ±È»£¬±àÒëÆ÷³öÓÚÌá¸ß·ÃÎÊЧÂʵÄÄ¿µÄ£¬ÔÚ±àÒë·ÖÅä´æ´¢¿Õ¼äʱÍùÍùÒª½øÐжÔÆë²Ù×÷¡£
¶ÔÆë²Ù×÷ÒÔ×î´ó»ù±¾ÀàÐÍΪ׼¡£¼´ÒÔ×î´ó»ù±¾ÀàÐÍΪ»ù±¾µ¥Ôª¡£Èô°´Êµ¼ÊËãϵij¤¶È²»ÊÇ»ù±¾µ¥ÔªµÄÕûÊý±¶£¬ÔòÆäʵ¼Ê³¤¶ÈÓ¦¸ÃÊÇ»ù±¾µ¥ÔªµÄÕûÊý±¶¡£
(ÔÚTurboCÖв»½øÐжÔÆ룬ÔÚLinuxÖнøÐжÔÆë)
11. CPU×Ö³¤Óë´æ´¢Æ÷λ¿í²»Ò»Ö´¦Àí
ÀýÈ磺ʹÓù²ÓÃÌåÀ´½â¾öÕâÒ»³åÍ»£º
union send_temp{
uint16 words;
uint8 bytes[2];
}send_buff;
eg:send_buff.bytes[0]=a;//´Ë´¦a ÊÇ8λ
send_buff.bytes[1]=b;//´Ë´¦ b ÊÇ8λ;
´Ëʱ¾Í½«8λ×ÖÆ´³ÉÁË16λ×Ö´æ´¢ÁË¡£
·¢ËÍʱsend(send_buff.words)¾Í¿ÉÒÔÿ´Î·¢ËÍÒ»¸ö16λµÄÊý¾ÝÁË¡£
12. CÓïÑÔ·ûºÅÓÅÏȼ¶£º
1>¸´ºÏ¸³ÖµÔËËã·ûºÅ£º
a+=3*5;
µÈ¼ÛÓÚa=a+(3*5);
13. Ò»¸ö³£¼ûµÄµ÷ÊÔ²ßÂÔÊÇ°ÑһЩprintfº¯ÊýµÄµ÷ÓÃÉ¢²¼ÓÚ³ÌÐòÖУ¬È·¶¨´íÎó³öÏֵľßÌåλÖá£
µ«ÊÇ£¬ÕâЩº¯Êýµ÷ÓõÄÊä³ö½á¹û±»Ð´Èëµ½»º³åÇøÖУ¬²¢²»Á¢¼´ÏÔʾÓÚÆÁÄ»ÉÏ¡£ÊÂʵÉÏ£¬Èç¹û³ÌÐòʧ°Ü£¬»º³åÊä
printf(¡°something or other¡±);
fflush(stdout);
14.¹Ø¼ü×ÖvolatileµÄÓ÷¨
volatile±äÁ¿¿ÉÄÜÓÃÓÚÈçϼ¸ÖÖÇé¿ö£º
1>É豸µÄÓ²¼þ¼Ä´æÆ÷(È磺״̬¼Ä´æÆ÷)
2>Ò»¸öÖжϷþÎñ×Ó³ÌÐòÖлá·ÃÎʵ½µÄÈ«¾Ö±äÁ¿
3>¶àÏß³ÌÓ¦ÓÃÖб»¼¸¸öÈÎÎñ¹²ÏíµÄ±äÁ¿¡£
15.¹Ø¼ü×ÖregisterµÄÓ÷¨£º
µ±¶ÔÒ»¸ö±äÁ¿Æµ·±±»¶Áдʱ£¬ÐèÒª·´¸´·ÃÎÊÄڴ棬´Ó¶ø»¨·Ñ´óÁ¿µÄ´æȡʱ¼ä¡£Îª´Ë£¬CÓïÑÔÌṩÁËÒ»ÖÖ±äÁ¿£¬¼´¼Ä´æÆ÷±äÁ¿¡£ÕâÖÖ±äÁ¿´æ·ÅÔÚCPUµÄ¼Ä´æÆ÷ÖУ¬Ê¹ÓÃʱ£¬²»ÐèÒª·ÃÎÊÄڴ棬¶øÖ±½Ó´Ó¼Ä´æÆ÷ÖжÁд£¬´Ó¶øÌá¸ßЧÂÊ¡£¼Ä´æÆ÷±äÁ¿µÄ˵Ã÷·ûÊÇregister¡£¶ÔÓÚÑ»·´ÎÊý½Ï¶àµÄÑ»·¿ØÖƱäÁ¿¼°Ñ»·ÌåÄÚ·´¸´Ê¹ÓõıäÁ¿¾ù¿É¶¨ÒåΪ¼Ä´æÆ÷±äÁ¿£¬¶øÑ»·¼ÆÊýÊÇÓ¦ÓüĴæÆ÷±äÁ¿µÄ×îºÃºòÑ¡Õß¡£
(1) Ö»Óоֲ¿×Ô¶¯±äÁ¿ºÍÐββſÉÒÔ¶¨ÒåΪ¼Ä´æÆ÷±äÁ¿¡£ÒòΪ¼Ä´æÆ÷±äÁ¿ÊôÓÚ¶¯Ì¬´æ´¢·½Ê½£¬·²ÐèÒª²ÉÓþ²Ì¬´æ´¢·½Ê½µÄÁ¿¶¼²»Äܶ¨ÒåΪ¼Ä´æÆ÷±äÁ¿£¬°üÀ¨£ºÄ£¿é¼äÈ«¾Ö±äÁ¿¡¢Ä£¿éÄÚÈ«¾Ö±äÁ¿¡¢¾Ö²¿static±äÁ¿;
(2) registerÊÇÒ»¸ö"½¨Òé"Ð͹ؼü×Ö£¬ÒâÖ¸³ÌÐò½¨Òé¸Ã±äÁ¿·ÅÔڼĴæÆ÷ÖУ¬µ«×îÖոñäÁ¿¿ÉÄÜÒòΪÌõ¼þ²»Âú×㲢δ³ÉΪ¼Ä´æÆ÷±äÁ¿£¬¶øÊDZ»·ÅÔÚÁË´æ´¢Æ÷ÖУ¬µ«±àÒëÆ÷Öв¢²»±¨´í(ÔÚC++ÓïÑÔÖÐÓÐÁíÒ»¸ö"½¨Òé"Ð͹ؼü×Ö£ºinline)¡£
16.¶ÔÓÚ³ÌÐò´úÂ룬ÒѾ±»ÉÕ¼ÔÚFLASH»òROMÖУ¬ÎÒÃÇ¿ÉÒÔÈÃCPUÖ±½Ó´ÓÆäÖжÁÈ¡´úÂëÖ´ÐУ¬µ«Í¨³£Õâ²»ÊÇÒ»¸öºÃ°ì·¨£¬ÎÒÃÇ×îºÃÔÚϵͳÆô¶¯ºó½«FLASH»òROMÖеÄÄ¿±ê´úÂ뿽±´ÈëRAMÖкóÔÙÖ´ÐÐÒÔÌá¸ßÈ¡Ö¸ÁîËٶȡ£
CPU¶Ô¸÷ÖÖ´æ´¢Æ÷µÄ·ÃÎÊËٶȣ¬»ù±¾ÉÏÊÇ£º
CPUÄÚ²¿RAM > Íⲿͬ²½RAM > ÍⲿÒì²½RAM > FLASH/ROM
17. ºê¶¨Òå
ÔÚCÓïÑÔÖУ¬ºêÊDzúÉúÄÚǶ´úÂëµÄΨһ·½·¨¡£¶ÔÓÚǶÈëʽϵͳ¶øÑÔ£¬ÎªÁËÄÜ´ïµ½ÐÔÄÜÒªÇ󣬺êÊÇÒ»ÖֺܺõĴúÌ溯ÊýµÄ·½·¨¡£
1>ºê¶¨Òå¡°Ïñ¡±º¯Êý;
2>ºê¶¨Òå²»ÊǺ¯Êý£¬Òò¶øÐèÒªÀ¨ÉÏËùÓС°²ÎÊý¡±;
3>ºê¶¨Òå¿ÉÄܲúÉú¸±×÷Óá£Òò¶ø²»Òª¸øºê¶¨Òå´«ÈëÓи±×÷ÓõÄ"²ÎÊý"¡£
¿Î³Ì×Éѯ £ºÑ§Ï°×ÊÁÏ¡¢¿Î³Ì½éÉÜ»¶ÓÇ°ÍùÐÅÓ¯´ï¹ÙÍøÁªÏµ¿Í·þСÃÃÁìÈ¡~
14ÌìÐÅÓ¯´ïÃâ·ÑÊÔÌý¿Î
12´óѧ¿Æ£¬¸ßÆ·ÖÊÈ«³ÌÃæÊÚ°àÏ޶Ãû£¡