第一章:任务的创建
任务创建的函数:
INT8U OSTaskCreate(
void (*task)(void *pd),//指向任务的指针
void *pdata,//传递给任务的参数
OS_STK *ptos,//指向任务堆栈的栈顶的指针
INT8U prio //任务优先级
);
还有一个函数 INT8U OSTaskCreate(void (*task)(void *pd,void *pdada,OS_STK *ptos,INT8U prio,INT16U id,OS_STK *pbos,INT32U stk_size,void *pext,INT16U opt));
#define TSK1_LEN 128
#define TSK2_LEN 128
TaskStkOne[TSK1_LEN];
TaskStkTwo[TSK2_LEN];
void main(void)
{
OSInit ();
OSTaskCreate(TaskOne,(void *)0,&TaskStkOne[TSK1_LEN-1],3);
OSTaskCreate(TaskTwo,(void *)0,&TaskStkTwo[TSK2_LEN-1],4);
OSStart ();
}
void TaskOne(void *pd)
{
pd = pd;
while(1){
//do your job
OSTimeDly(10);//这个是必需的
}
}
void TaskTwo(void *pd)
{
pd =pd;
while(1){
//do your job
OSTimeDly(10);//必需有的
}
}