美文网首页
FreeRTOS操作系统例程(4):调度锁

FreeRTOS操作系统例程(4):调度锁

作者: 闵许可 | 来源:发表于2019-05-22 17:50 被阅读0次

1.调度锁函数只是禁止了任务调度,并没有关闭任何中断

2.调度锁开启函数 vTaskSuspendAll 和调度锁关闭函数 xTaskResumeAll 一定要成对使用

3.切不可在调度锁开启函数 vTaskSuspendAll 和调度锁关闭函数 xTaskResumeAll 之间调用任何会引起任务切换的 API,比如 vTaskDelayUntil、vTaskDelay、xQueueSend 等

/*

*********************************************************************************************************

*  函 数 名: vTaskLED

*  功能说明: LED 闪烁

*  形 参: pvParameters 是在创建该任务时传递的形参

*  返 回 值: 无

* 优 先 级: 2

*********************************************************************************************************

*/

static void vTaskLED(void *pvParameters)

{

while(1)

{

vTaskSuspendAll(); /* 开启调度锁 */

printf("任务 vTaskLED 正在运行\r\n");

//xTaskResumeAll ();

if(!xTaskResumeAll()) /* 关闭调度锁,如果需要任务切换,此函数返回 pdTRUE,否则返回 pdFALSE */

{

taskYIELD ();

}

bsp_LedToggle(2);

vTaskDelay(200);

}

}

相关文章

网友评论

      本文标题:FreeRTOS操作系统例程(4):调度锁

      本文链接:https://www.haomeiwen.com/subject/xzddzqtx.html