FreeRTOS 任务切换
FreeRTOS 有两种方法触发任务切换:
(1)执行系统调用,比如普通任务可以使用 taskYIELD() 强制任务切换,中断服务程序中使用 portYIELD_FROM_ISR() 强制任务切换;
(2)系统节拍时钟中断
这两种方法的实质是一样的,都会使能一个 PendSV 中断,在 PendSV 中断服务程序中,找到最高优先级的就绪任务,然后让这个任务获得 CPU 运行权,从而完成任务切换。
详见参考文献:https://blog.csdn.net/qq_27114397/article/details/83017512