相信很多新手在一开始入手cube的时候对于systick定时器nvic为什么要调高有疑惑,只是听到别人说直接调高就行了,也是懵懵懂懂阿。
这里我来根据我所学的知识来进行一些解说如果遇到缺失的或错误的还希望指正
在STM32微控制器项⽬中,许多与计时相关的功能通常依赖于软件定时器,即默认的SysTick定时器。如果SysTick定时器的优先级设置过低,它将频繁地被其他任务抢占,导致计时精度下降和系统响应延迟。例如b站up主keysking中讲hal库的时候解说过可以去看实例。
-
软件定时器依赖:许多计时功能(如HAL_Delay()函数和各种超时机制)依赖于SysTick定时器提供的时间基准。
-
优先级的重要性:SysTick定时器的中断优先级决定了它在系统中断和任务调度中的地位。如果优先级过低,其他⾼优先级的中断和任务将频繁抢占SysTick定时器,影响其计时准确性。3.系统稳定性:为了确保系统的计时功能稳定运⾏,必须合理设置SysTick定时器的优先级,以避免频繁的中断抢占。