stm32 nvic优先级用4位是在哪个地方说明

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32 nvic优先级用4位是在哪个地方说明相关的知识,希望对你有一定的参考价值。

这里我也查了好多资料,关于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. 
These registers are byte-accessible. Each register holds four priority fields,
that map to four elements in the CMSIS interrupt priority array IP[0] to IP[67],
as shown in Figure 19.

即:

NVIC_IPR寄存器(中断优先级寄存器)对于每个(外部)中断规定4位优先级字段.
这些寄存器可以按字节访问.每个寄存器具有4个优先级字段,对应映射到四个CMSIS
(Cortex微处理器软件接口标准)中断优先级数组IP[0]到IP[67]中的元素中.

此外,还在表42中对寄存器有具体说明,如图所示:

原创回答,望采纳,转载请标明作者:

Dennis Chen , Email : chenzhe@briup.com

参考技术A STM32通过4个BIT来对中断进行分组,比如你说的Group_1,就是用最高1位用于指定抢占式优先级,最低3位用于指定响应优先级。Group_2,就是用最高2位用于指定抢占式优先级,最低2位用于指定响应优先级。
当中断发生时MCU将先比较抢占式优先级,谁大谁先执行,如果一样着比较响应优先级。就这样来分辨中断优先级
-----------
NVIC_IRQChannelPreemptionPriority和NVIC_IRQChannelSubPriority这两个参数和NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1)这个函数有什关系,有点不太明白!
这些函数手册上有说明,一般这样的库函数你照搬就OK了,要看透还真不容易本回答被提问者采纳

以上是关于stm32 nvic优先级用4位是在哪个地方说明的主要内容,如果未能解决你的问题,请参考以下文章

stm32的nvic是啥意思

STM32入门笔记——NVIC中断

STM32入门笔记——NVIC中断

无基础也可以了解,NVIC中断优先级分组

STM32NVIC中断优先级管理

STM32的优先级NVIC_PriorityGroupConfig的理解及其使用