关于STM32中断优先级分组的科普,初学者常见问题解答(Q&A)

2019-07-20 23:41发布

CM3内核集成了强大的NVIC(可嵌套的向量中断控制器),
权威指南中介绍它就花了大量篇幅,
要把整个NVIC完全搞懂也不容易,
我也只学习了一点皮毛,
对于初学者来说,中断优先级分组及中断优先级设定这种基本问题是绕不开的,
刚接触NVIC的同学对此常有疑问,
本帖仅仅针对STM32中断优先级分组这一个方面,
给初学者科普一下这方面的常见问题,
老手请绕道,不过欢迎进来交流。
也可以提新的问题,我所知道的尽量解答。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
49条回答
warship
2019-07-24 06:36
本帖最后由 warship 于 2018-8-11 21:23 编辑

问题十四:最高的优先级是0吗?
答:我们前面说了,STM32常见芯片是以4位来表达优先级的,所以共有16个不同的优先级。
其值越小则优先级越高,那么最高优先级就是0了。对于240个外部中断来说就是如此,但是
系统内核为自己留了后手,其中有几个比0的优先级还高,是负值,并且这些为负值的优先级还是固定的,
用户无法对此进行重新设置。分别是复位的优先级最高,为-3, 不可屏蔽中断次之,为-2,
硬件故障再次之,为-1
详见下表:


一周热门 更多>