通过查看正点原子《STM32F4 开发指南》搞明白了:
IP(中断优先级控制)寄存器组相当重要! STM32F4 的中断分组与这个寄存器组密切相关。IP(中断优先级控制)寄存器组由 240 个 8 bit的寄存器组成,每个可屏蔽中断占用 8bit ,这样总共可以表示 240 个可屏蔽中断。 而 STM32 F4只用到了其中的 82 个 。 IP[ 81 ]~IP[0] 分别对应中断 81 ~0 。 而每个可屏蔽中断占用的 8bit 并没有全部使用,而是 只用了高 4 位。这 4 位,又分为抢占优先级和子优先级。抢占优先级在前,子优先级在后。而这两个优先级各占几个位又要根据 SCB -->AIR CR 中的 中断分组设置来决定。
STM32F4 的中断分组: STM32 F4 将中断分为 5 个组,组 0~4 。该分组的设置是由 SCB -->AIRCR 寄存器的 bit10~8 来定义的。具体的分配关系:0组 ,AIRCR[10:8] =7, 0位抢占优先级, 4 位响应优先级;1组 ,AIRCR[10:8] =6, 1位抢占优先级, 3 位响应优先级;2组 ,AIRCR[10:8] =5, 2位抢占优先级, 2 位响应优先级;3组 ,AIRCR[10:8] =4, 3位抢占优先级, 1 位响应优先级;4组 ,AIRCR[10:8] =3, 4位抢占优先级, 0 位响应优先级.我们就可以清楚的看到组0~4 对应的配置关系,例如组设置为 3 ,那么此时所有的 82 个中断,每个中断的中断优先寄存器的高四位中的最高 3 位是抢占优先级,低 1 位是响应优先级。每个中断, 你 可以设置抢占优先级为 0~7 ,响应优先级为 1 或 0 。抢占优先级的级别高于响应优先级。而数值越小所代表的优先级就越高。
雅特力的资料太少了!!!!!!!!!!
|