专题文章
时长:00:00更新时间:2024-10-18 23:25:17
PendSV是可悬起异常。如果我们把它配置最低优先级,那么如果同时有多个异常被触发,它会在其他异常执行完毕后再执行,而且任何异常都可以中断它。OS可以利用它“缓期执行”一个异常——直到其它重要的任务完成后才执行动作。悬起PendSV的方法是:手工往NVIC的PendSV悬起寄存器中写1。悬起后,如果优先级不够高,则将缓期等待执行。PendSV的典型使用场合是在上下文切换时(在不同任务之间切换)。当某中断源的频率和SysTick异常的频率比较接近时,会发生“共振”,使上下文切换迟迟不能进行。现在好了,PendSV来完美解决这个问题了。
查看详情