main.c

来自「成功移植ucos2.85到s3c44b0的开发板」· C语言 代码 · 共 98 行

C
98
字号

#include "/inc/sys_init.h"
#include "/44b0/uart/uart.h"
#include "/uCOS-II/ucos_ii.h"

           
#define	STACKSIZE	512


OS_STK StartTaskStk[STACKSIZE];
OS_STK MyTaskStk[STACKSIZE];
OS_STK YouTaskStk[STACKSIZE];
OS_STK HerTaskStk[STACKSIZE];

     

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



         


int Main(void)
{
	System_Init();
	Uart_Init(0,115200);
	Uart_Printf("\n\n\n.........uCOS_II test begin..........\n");
    //lcdtest();                                                 
	OSInit();                                                       
	OSTaskCreate(StartTask,(void *)0,&StartTaskStk[STACKSIZE],0);   
	OSStart();                                                     
	return 0;
}


void	StartTask(void *pdata)
{
	pdata=pdata;
	                                              
  	OSTaskCreate(MyTask, (void *)0,&MyTaskStk[STACKSIZE],3);		
  	OSTaskCreate(YouTask,(void *)0,&YouTaskStk[STACKSIZE],4);		
  	OSTaskCreate(HerTask,(void *)0,&HerTaskStk[STACKSIZE],2);		
  	Timer0_Init(); 
  	do{
  	OSTaskDel(0);   												                                            
  	}while(1);
}

void  	MyTask(void *pdata)
{
  OS_CPU_SR cpu_sr;
  for(;;)
  {
   OS_ENTER_CRITICAL();
   Uart_Printf("\n....MyTask");
   OS_EXIT_CRITICAL();
   OSTimeDly(40);
  }
}

void	YouTask(void *pdata)
{ 
OS_CPU_SR cpu_sr;
 for(;;)
 {
  OS_ENTER_CRITICAL();
  Uart_Printf("\n...............YouTask");
  OS_EXIT_CRITICAL();
  OSTimeDly(70);
  
 }
}

void	HerTask(void *pdata)	
{
OS_CPU_SR cpu_sr;
 	for(;;)
 	{
 	 OS_ENTER_CRITICAL();
 	 Uart_Printf("\n............................HerTask");
 	 OS_EXIT_CRITICAL();
     OSTimeDly(100);
 	}
}	









⌨️ 快捷键说明

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