ÔÚ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À
Ïà¹ØÎĵµ£º
µ¥Àýģʽ£º¶ÔÓ¦Ò»¸öÀàÖ»ÄÜÉú³ÉÒ»¸ö¶ÔÏó¡£
#include <stdio.h>
class A
{
private:
int id;
A() {}//°Ñ¹¹Ô캯Êý·ÅÔÚprivate£ºÏÂÄ¿µÄÊÇÔÚÀàÍâ²»ÄÜÔÚÕ»ÉÏÖ±½Ó·ÖÅä¿Õ¼ä¶¨Òå¶ÔÏó¡£
public:
static A *pt;
static A *instance()
  ......
Ñ¡ÔñÅÅÐò·¨ÀàËÆÎÒÃÇÈËΪµÄÅÅÐòϰ¹ß£º´ÓÊý¾ÝÖÐÑ¡Ôñ×îСµÄͬµÚÒ»¸öÖµ½»»»£¬ÔÚ´ÓʡϵIJ¿·ÖÖÐÑ¡Ôñ×îСµÄÓëµÚ¶þ¸ö½»»»£¬ÕâÑùÍù¸´ÏÂÈ¥……
Ñ¡ÔñÅÅÐòµÄƽ¾ùʱ¼ä¸´ÔӶȱÈðÅÝÅÅÐòµÄÉÔµÍ:
ͬÑùÊý¾ÝµÄÇé¿öÏ£¬2ÖÖËã·¨µÄÑ»·´ÎÊýÊÇÒ»ÑùµÄ£¬µ«Ñ¡ÔñÅÅÐòÊÇÒ»¶Ô¶àµÄ±È½Ï£¬Ã¿ÌËÖ»½øÐÐ0µ½1´Î½»»»£¬¶øÃ°ÅÝÅÅÐòÊÇÏàÁÚÁ½Á½±È½Ï£ ......
C/C++µ×²ãʵÏÖÖ¸¶¨´ÅÅÌÖ»¶Á ÊÕ²Ø
Ñà¿ñͽдµÄÇý¶¯¹Ò¹³£¬ÏÞÖÆ´ÅÅÌÖ»¶Á£¬ ÓÃÓÚ±£Ö¤ÉæÃܼÆËã»úµÄÎȶ¨£¬Ï൱ÓÚ½«´ÅÅ̱ä³ÉROM #include "ntddk.h"
#include
#include #define DRIVERNAME "OnlyRead(GongXiPeng!)" // for use in messages typedef struct tagDEVICE_EXTEN ......
¸ÅÄî£ºÎ±Ëæ»úÊý¡¢ÖÖ×ÓÒÔ¼°CÖеÄËæ»úº¯Êý
2007Äê12ÔÂ03ÈÕ ÏÂÎç 02:28
Ê×ÏÈÐèÒªÉùÃ÷µÄÊÇ£¬¼ÆËã»ú²»»á²úÉú¾ø¶ÔËæ»úµÄËæ»úÊý£¬¼ÆËã»úÖ»ÄܲúÉú“Î±Ëæ»úÊý”¡£Æäʵ¾ø¶ÔËæ»úµÄËæ»úÊýÖ»ÊÇÒ»ÖÖÀíÏëµÄËæ»úÊý£¬¼´Ê¹¼ÆËã»úÔõÑù·¢Õ¹£¬ËüÒ²²»»á²úÉúÒ»´®¾ø¶ÔËæ»úµÄËæ»úÊý¡£¼ÆËã»úÖ»ÄÜÉú³ÉÏà¶ÔµÄËæ»úÊý£¬¼´Î±Ëæ»úÊý¡£
......
ÁËCÈ»ºóC++£¬È»ºóMFC/Windows,È»ºóÊÇC#,ÆäÖÐÊý¾ÝÀàÐͺܶ࣬ÓÉ»ù±¾ÀàÐÍÑÜÉúµÄtypedefÀàÐÍÒ²N¶à¡£ÊìÖª»ù±¾Êý¾ÝÀàÐÍÊÇÎÒÃÇÕýÈ·±í´ïʵ¼ÊÎÊÌâÖи÷ÖÖÊý¾ÝµÄǰÌᣬÒò´ËÎÒ·ÖÀà×ܽáÁËÒ»ÏÂC/C++/Windows /C#»ù±¾Êý¾ÝÀàÐÍ£¬ÒÔ±ãÈÕºó²éÔÄ¡£
ANSI C/C++»ù±¾Êý¾ÝÀàÐÍ£º
Type
Size
Ê ......