This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
参考TI的官方移植的freeRTOS 库, 发现一个问题,定时器1 的中断执行任务时机切换的函数,如下图。 但实际上这个输入参数始终为pdFALSE, 相当于这个函数没有执行有效的内容? 这么设计的含义的是什么,为什么要添加这个函数?
FreeRTOS为了防止中断执行时间过长、程序陷入中断,进而影响其他任务的执行,所以让所有的中断ISR只起跳转的作用。
比如task A正在运行,这时Timer1触发中断,我们并不会像裸机编程那样,直接在Timer1的ISR中进行相应的处理,而是在另一个任务、比如task Timer1中进行;Timer1 ISR的作用仅仅是跳转到task Timer1。
ISR中的第一行实际上是创建了一个参数,用来唤醒更高优先级的任务,也就是ISR要跳转到的任务;
第二行传递信号量给要跳转到的任务;
第三行就是做上下文切换以及return from ISR。