You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NVIC->IP[20] = 0x60对应优先级3的原理及来源疑问

为什么NVIC->IP[20] = 0x60对应优先级3?

核心原因:MSP432的NVIC优先级位规则

MSP432系列MCU的NVIC中断优先级寄存器(NVIC->IP[x])每个条目是8位,其中最高3位(位7、6、5)用于表示抢占优先级,剩余5位(位4-0)为子优先级(仅影响同抢占优先级中断的响应顺序,不影响抢占行为)。

0x60对应优先级3的计算过程

  • 十六进制0x60转换为二进制是01100000
  • 提取最高3位(位7、6、5):0 1 1
  • 这三位组成的二进制数011对应十进制的3,也就是注释里标注的中断优先级3。

你误解的地方

你提到“0x60转二进制为01100000对应第6、7位”,问题出在位的编号理解偏差:

  • 寄存器的位编号通常从右往左计数(位0是最低位,位7是最高位),01100000的最高三位是位7(0)、位6(1)、位5(1),三者的组合才是优先级数值,并非只看第6、7两位。
  • 补充:MSP432的抢占优先级数值越小,优先级越高(0为最高优先级,7为最低)。

验证方式

查阅MSP432官方技术参考手册(TRM)的NVIC章节,找到Interrupt Priority Register (IP)的位定义,会明确标注位7-5为PRI[2:0](抢占优先级位),这三位的数值直接对应抢占优先级级别。


内容的提问来源于stack exchange,提问作者JorisTDP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 18:17:29