ÔÚ51ϵÁе¥Æ¬»úÉÏÒÆÖ²uCOS II c´¨¿Æ´´ÐÂ
ÄÚÈÝÕªÒª£º±¾ÎÄÏêϸϵͳµØ½éÉÜÁËuC/OS-IIÔÚ51µ¥Æ¬»úÉϵÄÒÆÖ²¡¢ÖØÈëʵÏÖ·½·¨¡¢Ó²¼þ·ÂÕæ¡¢¹Ì»¯¡¢ÈË»ú½çÃæµÈ¹Ø¼üÄÚÈÝ¡£
¹Ø¼ü´Ê£ºÇ¶Èëʽʵʱ¶àÈÎÎñ²Ù×÷ϵͳ¡¢uC/OS-II¡¢C51
ÒýÑÔ£º
Ëæן÷ÖÖÓ¦Óõç×ÓϵͳµÄ¸´ÔÓ»¯ºÍϵͳʵʱÐÔÐèÇóµÄÌá¸ß£¬²¢°éËæÓ¦ÓÃÈí¼þ³¯×Åϵͳ»¯·½Ïò·¢Õ¹µÄ¼ÓËÙ£¬ÔÚ16λ/32λµ¥Æ¬»úÖй㷺ʹÓÃÁËǶÈëʽʵʱ²Ù×÷ϵͳ¡£È»¶øʵ¼ÊʹÓÃÖÐÈ´´æÔÚ×Å´óÁ¿8λµ¥Æ¬»ú£¬´Ó¾¼ÃÐÔ¿¼ÂÇ£¬¶ÔijЩӦÓó¡ºÏ£¬ÔÚ8λMCUÉÏʹÓòÙ×÷ϵͳÊÇ¿ÉÐеġ£´Óѧϰ²Ù×÷ϵͳ½Ç¶È£¬uC/OS-II for 51¼´¼òµ¥ÓÖÈ«Ã棬ѧϰ³É±¾µÍÁ®£¬ÖµµÃÍƹ㡣
½áÓμC/OS-II¾ßÓÐÃâ·Ñ¡¢¼òµ¥¡¢¿É¿¿ÐԸߡ¢ÊµÊ±ÐԺõÈÓŵ㣬µ«Ò²ÓÐȱ·¦±ãÀû¿ª·¢»·¾³µÈȱµã£¬ÓÈÆä²»ÏñÉÌÓÃǶÈëʽϵͳÄÇÑùµÃµ½¹ã·ºÊ¹ÓúͳÖÐøµÄÑо¿¸üС£µ«¿ª·ÅÐÔÓÖʹµÃ¿ª·¢ÈËÔ±¿ÉÒÔ×ÔÐвüõºÍÌí¼ÓËùÐèµÄ¹¦ÄÜ£¬ÔÚÐí¶àÓ¦ÓÃÁìÓò·¢»Ó×ŶÀÌصÄ×÷Óᣵ±È»£¬ÊÇ·ñÔÚµ¥Æ¬»úϵͳÖÐǶÈëμC/OS-IIÓ¦ÊÓËù¿ª·¢µÄÏîÄ¿¶ø¶¨£¬¶ÔÓÚһЩ¼òµ¥µÄ¡¢µÍ³É±¾µÄÏîÄ¿À´Ëµ£¬¾Íû±ØҪʹÓÃǶÈëʽ²Ù×÷ϵͳÁË¡£
uC/OS-IIÔÀí£º
uCOSII°üÀ¨ÈÎÎñµ÷¶È¡¢Ê±¼ä¹ÜÀí¡¢ÄÚ´æ¹ÜÀí¡¢×ÊÔ´¹ÜÀí£¨ÐźÅÁ¿¡¢ÓÊÏä¡¢ÏûÏ¢¶ÓÁУ©ËĴ󲿷֣¬Ã»ÓÐÎļþϵͳ¡¢ÍøÂç½Ó¿Ú¡¢ÊäÈëÊä³ö½çÃæ¡£ËüµÄÒÆÖ²Ö»Óë4¸öÎļþÏà¹Ø£º»ã±àÎļþ£¨OS_CPU_A.ASM£©¡¢´¦ÀíÆ÷Ïà¹ØCÎļþ£¨OS_CPU.H¡¢OS_CPU_C.C£©ºÍÅäÖÃÎļþ£¨OS_CFG.H£©¡£ÓÐ64¸öÓÅÏȼ¶£¬ÏµÍ³Õ¼ÓÃ8¸ö£¬Óû§¿É´´½¨56¸öÈÎÎñ£¬²»Ö§³Öʱ¼äƬÂÖת¡£ËüµÄ»ù±¾Ë¼Â·¾ÍÊÇ “½üËƵØÿʱÿ¿Ì×ÜÊÇÈÃÓÅÏȼ¶×î¸ßµÄ¾ÍÐ÷ÈÎÎñ´¦ÓÚÔËÐÐ״̬” ¡£ÎªÁ˱£Ö¤ÕâÒ»µã£¬ËüÔÚµ÷ÓÃϵͳAPIº¯Êý¡¢ÖжϽáÊø¡¢¶¨Ê±ÖжϽáÊøʱ×ÜÊÇÖ´Ðе÷¶ÈËã·¨¡£Ô×÷Õßͨ¹ýÊÂÏȼÆËãºÃÊý¾Ý£¬¼ò»¯ÁËÔËËãÁ¿£¬Í¨¹ý¾«ÐÄÉè¼Æ¾ÍÐ÷±í½á¹¹£¬Ê¹µÃÑÓʱ¿ÉÔ¤Öª¡£ÈÎÎñµÄÇл»ÊÇͨ¹ýÄ£ÄâÒ»´ÎÖжÏʵÏֵġ£
uCOSII¹¤×÷ºËÐÄÔÀíÊÇ£º½üËƵØÈÃ×î¸ßÓÅÏȼ¶µÄ¾ÍÐ÷ÈÎÎñ´¦ÓÚÔËÐÐ״̬¡£
²Ù×÷ϵͳ½«ÔÚÏÂÃæÇé¿öÖнøÐÐÈÎÎñµ÷¶È£ºµ÷ÓÃAPIº¯Êý(Óû§Ö÷¶¯µ÷ÓÃ)£¬ÖжÏ(ϵͳռÓõÄʱ¼äƬÖжÏOsTimeTick(),Óû§Ê¹ÓõÄÖжÏ)¡£
µ÷¶ÈËã·¨ÊéÉϽ²µÃºÜÇå³þ£¬ÎÒÖ÷Òª½²Ò»ÏÂÕûÌå˼·¡£
(1)ÔÚµ÷ÓÃAPIº¯Êýʱ£¬ÓпÉÄÜÒýÆð×èÈû,Èç¹ûϵͳAPIº¯Êý²ì¾õµ½ÔËÐÐÌõ¼þ²»Âú×㣬ÐèÒªÇл»¾Íµ÷ÓÃOSSched()µ÷¶Èº¯Êý£¬Õâ¸ö¹ý³ÌÊÇϵͳ×Ô¶¯Íê³ÉµÄ£¬Óû§Ã»ÓвÎÓë¡£OSSched()ÅжÏÊÇ·ñÇл»£¬Èç¹ûÐèÒªÇл»£¬Ôò´Ëº¯Êýµ÷ÓÃOS_TASK_SW()¡£Õâ¸öº¯ÊýÄ£ÄâÒ»´ÎÖжÏ(ÔÚ51À
Ïà¹ØÎĵµ£º
< type="text/javascript">
ÔÎÄÇë¼ûÕâÀï
¡£
GNU
CµÄÒ»´óÌØÉ«£¨È´²»±»³õѧÕßËùÖª£©¾ÍÊÇ__attribute__»úÖÆ¡£__attribute__¿ÉÒÔÉèÖú¯ÊýÊôÐÔ£¨Function
Attribute£©¡¢±äÁ¿ÊôÐÔ£¨Variable Attribute£©ºÍÀàÐÍÊôÐÔ£¨Type Attribute£©¡£
__attribute__ÊéдÌØÕ÷ÊÇ£º__attribute__Ç°ºó¶¼ÓÐÁ½¸öÏ»® ......
Èç¹ûÒª¼ÓÈë´Ë¼Æ»®:
1¡¢
·½Ê½1
£º¼ÓÈë
QQ
Ⱥ£º
93684322
¡£
2¡¢
·½Ê½2
£º¼ÓÈë
CSDN
Ⱥ×飺
DS¼Æ»®
¡£
1.1 ±äÁ¿´æ´¢Óò
1.1.1 Ò»¸öʾÀý
pang123huiÊ×ÏÈÌṩÁËÒ»¸öÍøÉÏÁ÷´«µÄѧϰ´úÂëʾÀý£º
int a = 0; //È«¾ÖÇø
void main()
{
int b; //Õ»
char s[] = “abc” ......
ϵͳ½éÉÜ£º
´Ëϵͳ¾ßÓд«Í³ÊÓƵ»áÒéµÄÒ»Çй¦ÄÜ£¬»ùÓÚä¯ÀÀÆ÷½çÃ棬¿ÉÒÔ¿ØÖÆÔ¶³ÌµÇ½£¬²Î»áÕß¿ÉÒÔͬʱ¿´µ½Ñݽ²ÕߺÍÑݽ²ÄÚÈÝ£¬²¢ÇåÎúµÄÌýµ½Ñݽ²ÕßÉùÒô£¬ÒѾÁË»ØÉùºÍÔëÒôµÄ´¦Àí£¬´ËÍ⻹¿ÉÒÔͬÉù´«Ò룬ÒÔÂú×㲻ͬÓïÖֲλáÈ˵ÄÒªÇ󡣲λáÕß»¹ÄÜʵÏÖ¶à»á³¡×ÔÓÉÇл»£¬²¢¿É²¥·ÅPPTµÈ¡£
ÐèÒªµÄÇëÁª ......
×ÜÊDZ»Í¬Ñ§ÃÇÎʵ½£¬ÈçºÎѧϰCºÍC++²Å²»Ã£È»£¬²Å²»ÊÇÂÒѧ£¬ÏëÁËһϣ¬ÕâÀï¸ø³öÒ»¸ö×ܵĻظ´¡£
¡¡¡¡Ò»¼ÒÖ®ÑÔ£¬»¶ÓÅÄש¹þ¡£
¡¡¡¡1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC.
¡¡¡¡´ó¶àÊýʱºò£¬ÎÒÃÇѧϰÓïÑÔµÄÄ¿µÄ£¬²»ÊÇΪÁ˳ÉΪһ¸öÓïÑÔר¼Ò£¬¶øÊÇÏ£Íû³ÉΪһ¸ö½â¾öÎÊÌâµÄר¼Ò¡£×öÒ»¸öÓÐÓõijÌÐòÔ±£¬×öÒ»¸ö׬ǮµÄ³ÌÐòÔ±¡£ÎÒÃǵļÛÖµ£¬½«ÌåÏÖÔÚ¿Í ......
int arr[]={6,7,8,9,10};
int *ptr=arr;
*(ptr++)+=123;
printf("%d,%d",*ptr,*(++ptr));
´ËÌâ×îºóµÄ½á¹ûÊÇ8£¬8.
Õ§¿´½á¹ûÓ¦¸ÃÊÇ7ºÍ8¡£
ÔÀí£º
ÒòΪËüÃÇ×÷ΪprintfµÄ²ÎÊý£¬º¯Êýprintf´Ó×óÍùÓÒ¶ÁÈ¡£¬È»ºó½«ÏȶÁÈ¡·Åµ½Õ»µ×£¬×îºó¶ÁÈ¡µÄ·ÅÔÚÕ»¶¥£¬´¦ÀíʱºòÊÇ´ÓÕ»¶¥¿ªÊ¼µÄ£¬ËùÓÐÎÒÃÇ¿´¼ûµÄ½á¹ûÊÇ£¬´ÓÓұ߿ªÊ¼´¦ÀíµÄ¡£ ......