关于RM0091中优先级>4的中断疑问(Cortex-M0最大优先级为3)
关于RM0091中Table36中断优先级数值的解释
首先明确:Cortex-M0内核的NVIC优先级编码确实是2位,对应数值范围0-3,数值越小优先级越高。但RM0091文档里Table36标注的优先级数值,是STM32外设手册定义的「中断相对优先级层级」,和内核的优先级编码不是同一个概念:
- 这些数值(如5、6、7)仅用于区分不同中断的相对优先级高低,数值越大代表该中断的优先级越低
- 实际配置NVIC时,你需要把手册里的这些层级映射到Cortex-M0支持的0-3这4个优先级编码上。比如手册中标注优先级5的中断,可配置为内核优先级2;优先级7的中断配置为内核优先级3,只要保持手册定义的相对优先级顺序一致即可
- 手册里的数值只是给开发者提供清晰的中断优先级排序参考,并非直接写入NVIC寄存器的配置值
内容的提问来源于stack exchange,提问作者Michał Zych
相关产品推荐
相关产品推荐

