怎样启动UCOS-II的多任务,下面代码只有一个任务在运行

2019-07-14 21:56发布

#include "includes.h"
u8 task;
static OS_STK task_led1_stk[TASK_LED1_STK_SIZE]; //定义栈
static OS_STK task_led2_stk[TASK_LED2_STK_SIZE]; //定义栈
void  delay(int x)
{
    INT16U i=0;
   
    for(;x>0;x--)
      for(i=100;i>0;i--);
}

void  Task_LED1(void *p_arg)  
{
  (void)p_arg;
  for (;;)   
   {
     LED1(OFF);
     delay(10000);  
     LED1(ON);      
     delay(10000);
   }
}
void  Task_LED2(void *p_arg)  
{
  (void)p_arg;
  for (;;)   
   {
     LED2(OFF);
     delay(20000);  
     LED2(ON);      
     delay(20000);
   }
}
void startup(void *p_arg)  
{
  OS_CPU_SysTickInit();
  
  task=OSTaskCreate(Task_LED1,(void *)0,
               &task_led1_stk[TASK_LED1_STK_SIZE-1], TASK_LED1_PRIO);
  
  task=OSTaskCreate(Task_LED2,(void *)0,
               &task_led2_stk[TASK_LED2_STK_SIZE-1], TASK_LED2_PRIO);
   
  OSTaskDel(OS_PRIO_SELF); //任务建立完成删掉这个任务

}

0条回答

一周热门 更多>