刚开始学习FREERTOS,将一些之前不了解的点记录下来。

1、创建任务时,可以由相同的任务代码创建多个任务,仅仅是传入的参数不同。

FreeRTOS学习总结(DAY1)

2、调度器总是选择具有最高优先级的可运行任务来执行,如下图高优先级任务之所以总是运行,是因为其不会等待任何事情,要么在死循环里打转,要么往终端打印字符串。这种情况称为任务1的执行时间被任务2“饿死(starved)”了。

FreeRTOS学习总结(DAY1)

3、由于上例中任务的内容就是打印输出,和计数死循环,导致低优先级任务被饿死,为解决这种问题,可以调用vTaskDelay()以让任务在延迟期间保持阻塞态,低优先级任务也可以很好的执行。

FreeRTOS学习总结(DAY1)

相关文章:

  • 2021-12-16
  • 2021-07-15
  • 2021-11-07
  • 2021-05-13
  • 2021-09-09
  • 2021-08-22
  • 2021-09-05
  • 2021-09-05
猜你喜欢
  • 2021-09-14
  • 2022-01-07
  • 2021-11-28
  • 2021-04-29
  • 2021-10-22
  • 2021-09-27
  • 2022-01-19
相关资源
相似解决方案