NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2),设置优先级分组后,抢占优先级和响应优先级的范围?

2019-07-20 03:57发布

我在学习NVIC的时候,见到 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

即设定优先级分组为2,也即抢占优先级和响应优先级可以设定为0-2

但是,在后来的外部中断中,板子上有4个按键,优先级分组设定为2

其中的一个按键抢占优先级设定为0x03,这让我不是很理解。

不是只能设定为0-2吗?

后来,咨询了客服,客服说让看看内核手册,说分组设为2时,抢占优先级和响应优先级可以设定为4*4=16个,

我看了内核手册,还是不太理解为什么会有16个。

另外对于其它分组呢。能不能给解释一下,视频上关于这一点也没有给予详细的解释。

用的是探索版。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
Admin
1楼-- · 2019-07-20 07:05
 精彩回答 2  元偷偷看……
Admin
2楼-- · 2019-07-20 12:52
一共四个位。。到底几位用来响应,几位用来设置抢占,,就是你要分组的原因。。。

四个位。。。当然是2的4次方,16种组合。。。
豆点
3楼-- · 2019-07-20 16:25
喔,你的意思是不是 假设中断优先级分组设定为分组2时,
抢占优先级占2位 ,可以用0/1/2/3
响应优先级占2位, 可以用0/1/2/3
他们共有4*4=16种组合。
那么,优先级分组设定为3时,
抢占优先级占3位,可以用0/1/2/3/4/5/6/7
响应优先级占1位,可以用0/1
那么他们有8*2=16种组合。
你看这样的理解对吗?
xuhaohao
4楼-- · 2019-07-20 21:56
 精彩回答 2  元偷偷看……
MNK
5楼-- · 2019-07-20 23:49
这个组是每个工程设置一个吗?不太明白在什么时候设置,看网上的例程,也没大有设置这个的

一周热门 更多>