freertos中PendSV作用和优先级设置
时间: 2024-04-25 13:25:42 浏览: 280
FreeRTOS的任务调度和切换学习 - 副本.docx
在 FreeRTOS 中,PendSV 是一个用于任务切换的中断,它的作用是在任务切换时切换到最高优先级的任务。当一个任务处于等待状态时,调度器会将 CPU 的控制权交给 PendSV 中断服务程序,PendSV 中断服务程序会在任务切换之前执行一些必要的清理和准备工作,然后将控制权交给调度器,由调度器选择下一个最高优先级的任务执行。
在 FreeRTOS 中,PendSV 的优先级是最低的,因为它需要在任务切换时被触发,而不应该被其他中断所打断。因此,PendSV 中断的优先级应该设置为最低,通常为数值为 15。这样,当其他中断发生时,PendSV 中断不会被打断,确保了任务切换的可靠性和正确性。同时,PendSV 中断的优先级也不能太低,否则可能会影响任务切换的响应速度。
阅读全文