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

[复制链接]
1736|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 基本一致的。。。
firstblood 发表于 2015-7-15 21:31 | 显示全部楼层
抢占,是指打断其他中断的属性,即因为具有这个属性会出现嵌套中断。
zhangbo1985 发表于 2015-7-26 23:08 | 显示全部楼层
抢占,是指打断其他中断的属性,即因为具有这个属性会出现嵌套中断(在执行中断服务函数 A 的过程中被中断 B 打断,执行完中断服务函数 B 再继续执行中断服务函数A),抢占属性由 NVIC_IRQPreemptPriority的参数配置。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

208

主题

2132

帖子

13

粉丝
快速回复 在线客服 返回列表 返回顶部