打印
[其他ST产品]

STM32中断中设置的先占式优先级与从优先级如何理解?

[复制链接]
761|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
onlycook|  楼主 | 2023-7-24 14:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32中断中设置的先占式优先级与从优先级如何理解?

使用特权

评论回复
沙发
香水城| | 2023-7-25 15:49 | 只看该作者
假设由中断A,B, A抢占优先级为2,B的抢占优先级为1,A的从优先级为3,B的从优先级为2。

当CPU正在忙别的更高优先级事情是,A \B中断同时进入挂起等待,CPU忙完后首先响应的是B,因为B的抢占优先级高;
当CPU正在执行A中断时来了中断B,B中断可以抢占A中断的执行来执行B中断,B中断执行完毕后再回来执行A中断。

假设由中断A,B的抢占优先级均为2,A的从优先级为3,B的从优先级为2。
此时二者***不可能发生抢占的情况,但当二者挂起等待响应时,CPU会优先响应B中断,因为它的从优先级高。

注:数字小,优先级高。

使用特权

评论回复
板凳
zhuomuniao110| | 2023-7-25 21:38 | 只看该作者
借楼学习。

使用特权

评论回复
地板
我吃小朋友| | 2023-8-15 20:03 | 只看该作者
一般就是数字越小,优先级越高

使用特权

评论回复
5
zhanghqi| | 2023-8-15 20:24 | 只看该作者
二者***不可能发生抢占的情况

使用特权

评论回复
6
zhanghqi| | 2023-8-15 20:25 | 只看该作者
***是啥被和谐了?

使用特权

评论回复
7
她已醉| | 2023-8-15 22:13 | 只看该作者
就找几个例程,关于中断的,你跑几次就知道怎么回事儿了

使用特权

评论回复
8
Bowclad| | 2023-8-15 23:15 | 只看该作者
抢占优先级就是会打断当前中断

使用特权

评论回复
9
春日负喧| | 2023-8-16 01:22 | 只看该作者
其实先占式优先级(Preemptive Priority):当多个中断同时发生时,具有较高优先级的中断会立即打断正在执行的较低优先级中断。

使用特权

评论回复
10
白马过平川| | 2023-8-16 03:45 | 只看该作者
这个先占式优先级我还第一次听说呢,哈哈

使用特权

评论回复
11
风凉| | 2023-8-16 05:17 | 只看该作者
先占式优先级配置中,中断具有唯一的优先级值,优先级值越低,优先级越高。

使用特权

评论回复
12
捧一束彼岸花| | 2023-8-16 07:06 | 只看该作者
从优先级当多个中断具有相同的先占式优先级时,可以使用从优先级来进一步确定中断的响应顺序。

使用特权

评论回复
13
温室雏菊| | 2023-8-16 09:01 | 只看该作者
一般来说,从优先级具有较高从优先级的中断将在具有较低从优先级的中断之前得到响应。

使用特权

评论回复
14
在曼谷的春| | 2023-8-16 11:12 | 只看该作者
优先级是这样,当一个中断正在执行时,如果发生了一个优先级更高的中断,系统会立即切换到较高优先级的中断服务程序执行,而不会等待当前中断完成。

使用特权

评论回复
15
月亮一键变蓝| | 2023-8-16 13:02 | 只看该作者
其实,中断嵌套才是脑子疼的操作呢

使用特权

评论回复
16
未说出口的像你| | 2023-8-16 18:42 | 只看该作者
STM32中,中断优先级由优先级组配置寄存器(NVIC_PRIORITY_GROUP)确定。优先级组的取值范围从04,决定了先占式优先级和从优先级的位数分配。例如,当优先级组为0时,中断优先级由4位先占式优先级决定;当优先级组为1时,中断优先级由3位先占式优先级和1位从优先级决定。

使用特权

评论回复
17
Henryko| | 2023-8-19 22:17 | 只看该作者
一个会直接打断,另一个会优先排队

使用特权

评论回复
18
Mowergy| | 2023-10-20 10:29 | 只看该作者
先占式优先级,当多个中断同时发生时,具有较高优先级的中断会立即打断正在执行的较低优先级中断

使用特权

评论回复
19
Bowclad| | 2023-10-20 12:36 | 只看该作者
中断嵌套确实处理起来麻烦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

438

主题

1657

帖子

3

粉丝