想请教一下关于nvic优先级配置问题

2019-10-14 20:53发布

我看资料说:STM32目前支持的中断共有84个(16个内核+68个外设 ISER0-ISER2),和16级可编程中断优先级(IPR0-IPR15,高四位有效),但是四位有效的话不是最多只能在一个工程里配置16个中断函数的优先级吗?怎么可以配置84个的?而且虽然中断优先级组可以选择4组,但是NVIC_PriorityGroupConfig();这是全局配置的,那岂不是配置哪组意义不大?反正不管怎么配都只有16个可以选。而且为什么要说成子优先级,主优先级,直接说成优先级1,2...16这样不就更加好理解吗?(我一开始理解为NVIC_PriorityGroupConfig()是给某个特定的中断配优先级组,然后在这个中断配子优先级,主优先级,这样一算可以配4*16=64个不同优先级的,但是问了一个大神说NVIC_PriorityGroupConfig()就是全局配置的。那不是只有16个优先级可配置了)。那感觉好像NVIC_PriorityGroupConfig()这个没什么用。请大神指点指点。我看stm32中文手册上关于这部分好像没有。资料也是东看西看可能看的不全,还请指点一二。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
正点原子
1楼-- · 2019-10-14 23:10
你这理解是不对的。
建议你好好看看我们对于STM32中断的说明。

你直接一根筋设置1~16,明显是不好的。
最简单的,比如我有2个优先级,他们是均等的,并不要谁高谁低,那你这种配置,就不适合了。
帅气迷人彬
2楼-- · 2019-10-15 02:58
正点原子 发表于 2017-3-5 17:12
你这理解是不对的。
建议你好好看看我们对于STM32中断的说明。

能否给个网址呀,我网上找的一些资料感觉都很模糊说的。

一周热门 更多>