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

2019-07-20 23:41发布

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

问题一、为什么要设置中断优先级?
答:中断,在STM32中也称之为异常,就是说程序必须中断正常的执行流程,处理各种临时发生的异常情况。
当同时发生几种不同的异常情况时,先去响应哪个? 需要设置优先级。
当正在处理异常时,又发生了情况更紧急的异常时,需要设置优先级,使更高级的中断可以打断正在执行的低优先级服务。
种种需求,必须把各个中断分出三六九等,这就是中断优先级。每一个中断都有自己的优先级设定,这个相当于它在整个中断系统中的身份证,服务卡。

一周热门 更多>