ucosII,LED0LED1俩任务切换过程,最简单的例子说明。

//LED0任务
void led0_task(void *pdata)
{
while(1)
{
LED0=0;
delay_ms(80);
LED0=1;
delay_ms(920);
};
}


//LED1任务
void led1_task(void *pdata)
{  
while(1)
{
LED1=0;
delay_ms(300);
LED1=1;
delay_ms(300);
};

}


关键在delay_ms函数中,函数中使用了OSTimeDly或OSTimeDlyHMSM();

这意味着使用这俩函数,即任务进入等待状态阶段,下一个优先级最高,并进入了就绪的任务立刻被赋予CPU的控制权。

这样只要进入等待状态,就可以进行任务切换。

你可能感兴趣的:(STM32)