打印

GD32的抢占优先级和响应优先级

[复制链接]
1047|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sunmeat|  楼主 | 2015-7-12 20:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sunmeat 于 2015-7-12 20:11 编辑

GD32 的中断向量具有两个属性,一个为抢占属性,另一个为响应属性,其属性编号越小,表明它的优先级别越高。
抢占,是指打断其他中断的属性,即因为具有这个属性会出现嵌套中断(在执行中断服务函数 A 的过程中被中断 B 打断,执行完中断服务函数 B 再继续执行中断服务函数A),抢占属性由 NVIC_IRQPreemptPriority的参数配置。
而响应属性则应用在抢占属性相同的情况下,当 两个中断向量的抢占优先级相同时,如果两个中断同时到达 , 则先处理响应优先级高的中断,响应属性由NVIC_IRQSubPriority 参数配置。例如,现在有三个中断向量,如下

中断向量     抢占优先级        响应优先级
A                 0                               0
B                 1                               0
C                 1                               1
        若内核正在执行 C 的中断服务函数,则它能被抢占优先级更高的中断 A 打断,由于 B和 C 的抢占优先级相同,所以 C 不能被 B 打断。但如果 B 和 C 中断是同时到达的,内核
就会首先响应响应优先级别更高的 B 中断。

沙发
long009| | 2015-7-15 10:53 | 只看该作者
总是高的优先级打破低的优先级。但是要注意,有几种优先级索然无法设置,但是优先级是最高的。

使用特权

评论回复
板凳
shenmu2012| | 2015-7-15 20:10 | 只看该作者
GD32 的中断向量具有两个属性,一个为抢占属性,另一个为响应属性,其属性编号越小,表明它的优先级别越高。

使用特权

评论回复
地板
shenmu2012| | 2015-7-15 20:10 | 只看该作者
这个跟STM32 基本一致的。。。

使用特权

评论回复
5
firstblood| | 2015-7-15 21:31 | 只看该作者
抢占,是指打断其他中断的属性,即因为具有这个属性会出现嵌套中断。

使用特权

评论回复
6
zhangbo1985| | 2015-7-26 23:08 | 只看该作者
抢占,是指打断其他中断的属性,即因为具有这个属性会出现嵌套中断(在执行中断服务函数 A 的过程中被中断 B 打断,执行完中断服务函数 B 再继续执行中断服务函数A),抢占属性由 NVIC_IRQPreemptPriority的参数配置。

使用特权

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

本版积分规则

208

主题

2132

帖子

13

粉丝