|
void start_task(void *pdata)
{
OS_CPU_SR cpu_sr=0;
pdata = pdata;
OSStatInit(); //³õʼ»¯Í³¼ÆÈÎÎñ.ÕâÀï»áÑÓʱ1ÃëÖÓ×óÓÒ
OS_ENTER_CRITICAL(); //½øÈëÁÙ½çÇø(ÎÞ·¨±»Öжϴò¶Ï)
OSTaskCreate(led1_task,(void *)0,(OS_STK*)&LED1_TASK_STK[LED1_STK_SIZE-1],LED1_TASK_PRIO);
OSTaskCreate(led2_task,(void *)0,(OS_STK*)&LED2_TASK_STK[LED2_STK_SIZE-1],LED2_TASK_PRIO);
OSTaskSuspend(START_TASK_PRIO); //¹ÒÆðÆðʼÈÎÎñ.
OS_EXIT_CRITICAL(); //Í˳öÁÙ½çÇø(¿ÉÒÔ±»Öжϴò¶Ï)
}
在上面程序中, OSTaskSuspend(START_TASK_PRIO); 在临界区中,起始任务挂起自己后能进行任务切换吗?
|
|