#include "FreeRTOS.h"
#include "task.h"
/* 关闭任务调度 */
void disable_task_scheduling()
{
vTaskSuspendAll(); // 关闭调度器
/* 在这里执行需要原子操作的代码,例如修改全局变量 */
/* 重新启用调度器 */
xTaskResumeAll();
}
/* 示例任务 */
void example_task(void *pvParameter)
{
for(;;)
{
vTaskDelay(1000); // 延时1000个tick
/* 调用关闭任务调度的函数 */
disable_task_scheduling();
}
}
|