深入理解用于中断控制的 SCB 寄存器

上文中提到,除了 CMSIS-Core 中的 NVIC 数据结构,系统控制块(SCB)中还包含了一些用于中断控制的寄存器,下表为 SCB 数据结构中的寄存器列表,其中一部分与中断或异常控制有关:

图片

下面我们对上表中与中断和异常有关的寄存器来逐一进行分析。

中断控制和状态寄存器 ICSR

ICSR 寄存器可在应用程序中用于:

  • 设置和清除系统异常的挂起状态,其中包括 SysTick、PendSV 和 NMI。

  • 通过读取 VECTACTIVE 可以确定当前执行的异常或中断编号。

另外,调试器还可以利用该寄存器确定中断状态。其中VECTACTIVE 域和 IPSR 相同,ICSR 整体结构如下表所示:

图片

该寄存器中的多个位域可被调试器使用以确定系统异常的状态。多数情况下,只有挂起的位对于应用开发来说是有用的。

向量表偏移寄存器 VTOR

VTOR 的相关概念已在下文中进行了详细说明,可以点击下方链接直接阅读:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WKJay_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值