打印

GD32的NVIC 的优先级组配置

[复制链接]
1960|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sunmeat|  楼主 | 2015-7-12 21:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
vi, ic, AI, air, rc
NVIC 只可以配置 16 种中断向量的优先级,也就是说,抢占优先级和响应优先级的数量由一个 4 位的数字来决定,把这个 4 位数字的位数分配成抢占优先级部分和响应优先级部分。有 5 组分配方式 。这个为什么是五种分配方式呢?这是由M3内核中的应用程序中断及复位控制寄存器(AIRCR)(地址:0xE000_ED00)决定的,是由AIRCR的 8-10位决定的。寄存器截图如下:

设置五种分组的代码如下:
void NVIC_PRIGroup_Enable(uint32_t NVIC_PRIGroup)
{
    /* Set the priority grouping value */
    SCB->AIRCR = AIRCR_VECTKEY_MASK | NVIC_PRIGroup;
}


沙发
kekeke| | 2015-7-14 17:26 | 只看该作者
还是不懂,为什么是5组呢?这个是由什么决定的了?

使用特权

评论回复
板凳
firstblood| | 2015-7-15 21:34 | 只看该作者
NVIC 只可以配置 16 种中断向量的优先级,也就是说,抢占优先级和响应优先级的数量由一个 4 位的数字来决定,把这个 4 位数字的位数分配成抢占优先级部分和响应优先级部分。

使用特权

评论回复
地板
angerbird| | 2015-7-17 22:39 | 只看该作者
firstblood 发表于 2015-7-15 21:34
NVIC 只可以配置 16 种中断向量的优先级,也就是说,抢占优先级和响应优先级的数量由一个 4 位的数字来决定 ...

这个说的是啦,抢占优先级与响应优先级的使用需要注意各自所能确定的最大用量的。

使用特权

评论回复
5
smilingangel| | 2015-7-18 15:03 | 只看该作者
抢占优先级和响应优先级的数量由一个 4 位的数字来决定,把这个 4 位数字的位数分配成抢占优先级部分和响应优先级部分。

使用特权

评论回复
6
zhangbo1985| | 2015-7-26 23:02 | 只看该作者
这个学习了啊,,优先级的设置非常重要的。

使用特权

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

本版积分规则

208

主题

2132

帖子

13

粉丝