STM32学习部分4

来源:互联网 发布:linux快捷键退出终端 编辑:程序博客网 时间:2024/05/29 18:53

1.      STM32中有两个中断优先级:抢占式优先级(占先式优先级)和响应优先级(副优先级),也就是主优先级和副优先级。其中抢占式优先级决定是否有中断嵌套(高占先优先级的中断事件会打断当前的主程序或者是中断程序的运行,也就是抢断式优先响应)。http://www.docin.com/p-558193594.html

2.      在占先式优先级相同的情况下,高副优先级的中断优先被响应。

3.      在占先式优先级相同的情况下,如果有低副优先级中断正在执行,那么高副优先级中断要等待已经被响应的低副优先级中断执行结束后才能得到响应(非抢断式响应,不能够嵌套)。

4.      在占先式优先级相同的情况下,就没有嵌套关系了!如果占先式优先级和副优先级都相同的中断同时到达,那么就根据他们在中断表中的位置来确定到底先执行哪个中断。

5.      优先级分组概念:Cortex-M3定义8个比特来设置中断源的优先级,那么如何分配这8个比特来设置占先式优先级和副优先级就是优先级分组的概念! 最高1位用于指定抢占式优先级,最低7位指定响应优先级;最高2位用于指定抢占式优先级,最低6位指定响应优先级….依次类推。 

6.      而在STM32中,使用4位设置中断优先级设置。

7.      第0组:所有4位都用于指定响应优先级;

8.      第1组:最高1位用于指定抢占式优先级,最低3位用于指定响应优先级;

9.      第2组:最高2位用于指定抢占式优先级,最低2位用于指定响应优先级;

10.  第3组:最高3位用于指定抢占式优先级,最低1位用于指定响应优先级;

11.  第4组:所有4位用于指定抢占式优先级。

12.  :(1)优先级分组只能设置一次,一般在主函数中设置,在各个功能函数中不再设置;(2)设置的优先级级数要在分组合理的取值范围;(3)优先级数字越小优先级越高;(4)判断优先级先看抢占式优先级,再看响应优先级。一般抢占优先级高的就是优先级先响应。

13.  中断部分明天再继续。

0 0
原创粉丝点击