初级会员

- 积分
- 73
- 金钱
- 73
- 注册时间
- 2015-12-6
- 在线时间
- 20 小时
|
1金钱
问题:函数 vTaskDelay() 能引发任务切换吗?
刚开始学习FreeRTOS,在实践原子哥讲的第一个小实验 任务创建与删除 有些不明白,求指点。
[mw_shl_code=c,true]//task2任务函数
void task2_task(void *pvParameters)
{
u8 task2_num=0;
while(1)
{
task2_num++; //任务2执行次数加1 注意task1_num2加到255的时候会清零!!
LED1=!LED1;
printf("任务2已经执行:%d次\r\n",task2_num);
vTaskDelay(1000); //延时1s,也就是1000个时钟节拍
}
}[/mw_shl_code]
Task1跟Task2类似,但是优先级低于Task2。
困惑:当Task2执行到vTaskDelay(1000)时,是不是会进入阻塞态,等待延时结束,同时进行任务切换去执行Task1?
|
|