帮小弟分析一下<br />程序代码<br />#define TASK_STK_SIZE_Start 512<br />#define TASK_STK_SIZE_Task1 512<br />#define TASK_STK_SIZE_Task2 512 <br />#define TASK_STK_SIZE_Task3 512<br />OS_STK TaskStartStk[TASK_STK_SIZE_Start];<br />OS_STK Task1Stk[TASK_STK_SIZE_Task1];<br />OS_STK Task2Stk[TASK_STK_SIZE_Task2];<br />OS_STK Task3Stk[TASK_STK_SIZE_Task3];<br />void TaskStart(void *data);<br />void Task1(void *data);<br />void Task2(void *data);<br />void Task3(void *data);<br /><br />int main (void)<br />{<br /> InitPort(); //应在TargetInit()之前调用<br /> OSInit();<br /> OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE_Start - 1], 4); <br /> OSStart();<br /> return 0;<br />}<br /><br />void TaskStart(void *pdata)<br />{<br />OSTaskCreate(Task1,(void *)0,&Task1Stk[TASK_STK_SIZE_Task1-1],1);<br /> OSTaskCreate(Task2,(void *)0,&Task2Stk[TASK_STK_SIZE_Task2-1],2);<br /> OSTaskCreate(Task3,(void *)0,&Task3Stk[TASK_STK_SIZE_Task3-1],3);<br /> for(::)<br /> {<br /> OSTimeDly(OS_TICKS_PER_SEC);<br /> }<br />}<br />void Task1(void *pdata)<br />{<br /> pdata = pdata; <br /> for(;;)<br /> {<br /> OSTimeDly(OS_TICKS_PER_SEC); <br /> } <br />}<br />void Task2(void *pdata)<br />{<br /> pdata = pdata; <br /> for(;;)<br /> {<br /> OSTimeDly(OS_TICKS_PER_SEC); <br /> } <br />}<br />void Task3(void *pdata)<br />{<br /> pdata = pdata; <br /> for(;;)<br /> {<br /> OSTimeDly(OS_TICKS_PER_SEC); <br /> } <br />}<br /> <br />
|