发布网友
共2个回答
热心网友
这里我也查了好多资料,关于STM32 中 NVIC优先级使用4位大部分人都是口口相传的,没有具体说明,然后我查了一些英文原版资料,其中终于发现了关于这个"4位优先级"的描述:
<STM32 Programming manual> P.125
4.7.3 Interrupt priority registers (NVIC_IPRx)
原文:
The IPR0-IPR16 registers provide a 4-bit priority field for each interrupt.即:
此外,还在表42中对寄存器有具体说明,如图所示:
原创回答,望采纳,转载请标明作者:
Dennis Chen , Email : chenzhe@briup.com
热心网友
STM32通过4个BIT来对中断进行分组,比如你说的Group_1,就是用最高1位用于指定抢占式优先级,最低3位用于指定响应优先级。Group_2,就是用最高2位用于指定抢占式优先级,最低2位用于指定响应优先级。
当中断发生时MCU将先比较抢占式优先级,谁大谁先执行,如果一样着比较响应优先级。就这样来分辨中断优先级
-----------
NVIC_IRQChannelPreemptionPriority和NVIC_IRQChannelSubPriority这两个参数和NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1)这个函数有什关系,有点不太明白!
这些函数手册上有说明,一般这样的库函数你照搬就OK了,要看透还真不容易