FreeRTOS任务调度程序如何工作的

2021-09-11 08:45发布

我一直在阅读官网文档:

Https://www.freertos.org/a00132.html

我不明白如何使用vTaskStartScheduler()。我可以创建任务,但据我所知,仅创建任务是不够的。只有在调度程序启动时才会执行任务。

示例用法:

void vAFunction( void )
{
     // Tasks can be created before or after starting the RTOS
     scheduler
     xTaskCreate( vTaskCode,
                  "NAME",
                  STACK_SIZE,
                  NULL,
                  tskIDLE_PRIORITY,
                  NULL );

     // Start the real time scheduler.
     vTaskStartScheduler();

     // Will not get here unless there is insufficient RAM.
}


3条回答
eric111
2021-09-11 10:51

任务是创建的,然后调度程序就启动了。当存在不同的优先级时,任务调度程序首先执行较高优先级的任务。我怀疑,当任务优先级相同时,调度程序如何在FreeRTOS中执行任务?

一周热门 更多>