⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mbox2.c

📁 UCOS消息油箱的简单例子
💻 C
字号:
# include "includes.h"
# define TASK_STK_SIZE 512
INT8U err;
INT16S key;
char *s;
char *ss;
OS_EVENT *mbox;
OS_STK StartTaskStk[TASK_STK_SIZE];
OS_STK MyTaskStk[TASK_STK_SIZE];


void StartTask(void *data);
void MyTask(void *data);

void main(void)
{
 
  PC_DOSSaveReturn();
  PC_VectSet(uCOS, OSCtxSw);
  OSInit();

  mbox=OSMboxCreate((void*)0);

  OSTaskCreate(StartTask,(void*)0,&StartTaskStk[TASK_STK_SIZE-1],5);
  OSStart();
}


void StartTask(void *pdata)
{
  #if OS_CRITICAL_METHOD==3
      OS_CPU_SR cpu_sr;
  #endif
  pdata=pdata;
  OS_ENTER_CRITICAL();
  PC_VectSet(0x08,OSTickISR);
  PC_SetTickRate(OS_TICKS_PER_SEC);
  OS_EXIT_CRITICAL();

  OSStatInit();
  OSTaskCreate(MyTask,(void*)0,&MyTaskStk[TASK_STK_SIZE-1],7);
   ss=OSMboxPend(mbox,100,&err);			 
   PC_DispStr(10,10,ss,DISP_BGND_BLACK+DISP_FGND_WHITE);
  for(;;)
   { 
	if (PC_GetKey(&key)==TRUE)
	  {
		if (key==0x1B)
			{ PC_DOSReturn();}
	  }  

     }

}

void MyTask(void *pdata)
{
  # if OS_CRITICAL_METHOD==3
     OS_CPU_SR  cpu_sr;
  #endif
  pdata=pdata;  
  s=(char*)"Hello,How are you!";
  OSMboxPost(mbox,s);  
}
    








⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -