Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÔÚ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À


Ïà¹ØÎĵµ£º

C __attribute__ Ïê½â


< type="text/javascript">
Ô­ÎÄÇë¼ûÕâÀï
¡£
GNU
CµÄÒ»´óÌØÉ«£¨È´²»±»³õѧÕßËùÖª£©¾ÍÊÇ__attribute__»úÖÆ¡£__attribute__¿ÉÒÔÉèÖú¯ÊýÊôÐÔ£¨Function    
Attribute£©¡¢±äÁ¿ÊôÐÔ£¨Variable Attribute£©ºÍÀàÐÍÊôÐÔ£¨Type Attribute£©¡£
__attribute__ÊéдÌØÕ÷ÊÇ£º__attribute__Ç°ºó¶¼ÓÐÁ½¸öÏ»® ......

linux c alarm(0)µÄº¬Òå

Linux C¡¡¡¡alarmº¯Êý---Çë¿´×îºó
¡¡¡¡alarmÒ²³ÆΪÄÖÖÓº¯Êý£¬Ëü¿ÉÒÔÔÙ½ø³ÌÖÐÉèÖÃÒ»¸ö¶¨Ê±Æ÷£¬µ±¶¨Ê±Æ÷Ö¸¶¨µÄʱ¼äµ½Ê±£¬ËüÏò½ø³Ç·¢ËÍSIGALARMÐźš£Òª×¢ÒâµÄÊÇ£¬Ò»¸ö½ø³ÌÖ»ÄÜÓÐÒ»¸öÄÖÖÓʱ¼ä£¬Èç¹ûÔÚµ÷ÓÃalarm֮ǰÒÑÉèÖùýÄÖÖÓʱ¼ä£¬ÔòÈκÎÒÔÇ°µÄÄÖÖÓʱ¼ä¶¼±»ÐÂÖµËù´úÌæ¡£
ËùÐèÍ·Îļþ
¡¡¡¡#include<unistd.h>
º¯Ê ......

50¸öc/c++Ô´´úÂëÍøÕ¾(תÔØ£©

source: http://blog.renren.com/blog/229071289/443686923
C/C++ÊÇ×îÖ÷ÒªµÄ±à³ÌÓïÑÔ¡£ÕâÀïÁгöÁË50ÃûÓÅÐãÍøÕ¾ºÍÍøÒ³Çåµ¥£¬ÕâЩÍøÕ¾Ìṩc/c++Ô´´úÂë¡£Õâ·ÝÇåµ¥ÌṩÁËÔ´´úÂëµÄÁ´½ÓÒÔ¼°ËüÃǵÄС˵Ã÷¡£ÎÒÒѾ¡Á¦°üÀ¨×î¼ÑµÄC/C++Ô´´úÂëµÄÍøÕ¾¡£Õâ²»ÊÇÒ»¸öÍêÕûµÄÇåµ¥£¬ÄúÓн¨Òé¿ÉÒÔÁªÏµÎÒ£¬ÎÒ½«»¶Ó­ÄúµÄ½¨Ò飬ÒÔ½øÒ»²½¼ÓÇ¿Õâ·½Ãæ ......

C³ÌÐò£º¿´ËƼòµ¥


pFn¡¡t1(void);
pFn¡¡t2(void);
int main()
{
¡¡¡¡pFn fn = t1 ;
¡¡¡¡while(1){
¡¡¡¡¡¡¡¡fn = fn();¡¡¡¡//Õâ¸ö£¬´ó¼Ò¿´Çå³þÁË
¡¡¡¡}
}
pFn¡¡t1()
{
¡¡¡¡printf("t1\n");
¡¡¡¡return t2 ;
}
pFn¡¡t2()
{
¡¡¡¡printf("t2\n");
¡¡¡¡return t1 ;
}
ÇëÎÊ£¬Ïëͨ¹ý±àÒ룬pFnº¯ÊýÖ¸ÕëÀàÐÍ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ