- 在,FreeRTOS中,中断优先级 和 任务优先级 不是一个东西。中断可以打断任意的任务。但是任务不可以打断中断。所以在RTOS中把systick的中断优先级设置为15,即最低,是为了保证系统任务切换不会影响别的中断的进行。当然别的中断影响了系统任务的切换是存在的,也是可以接受的。
- 在裸机开发中,滴答定时器中断常被用于延时函数的定时节拍。为什么也要把systick的中断优先级设置为15,即最低优先级?答:目的是为了保证其他中断的正常运行,我们不能为了一个小小的延时功能就耽误其他重要中断的响应。因此,滴答定时器延时是不太准确的,因为别的中断会打断他。基于此,我们禁止在中断服务函数中调用延时函数。若是想在中断服务函数实现延时功能,那么就使用定时器来实现延时,不要使用滴答定时器进行延时。
滴答定时器SysTick的中断优先级为什么设置为15?即最低优先级?
最新推荐文章于 2025-09-16 13:46:20 发布
本文解释了在FreeRTOS中,中断优先级与任务优先级的区别,强调了将Systick中断设置为最低级以确保系统任务切换不受干扰。同时指出,在裸机开发中,尽管滴答定时器中断常用于延时,但为了保证其他中断的正常响应,其优先级需保持低,导致延时可能不准确,应在中断服务函数中避免直接使用滴答定时器进行延时,推荐使用定时器实现延时功能。
1408

被折叠的 条评论
为什么被折叠?



