[开发资料] 芯源MCU的中断相关寄存器

[复制链接]
 楼主| 星辰大海不退缩 发表于 2025-1-28 16:00 | 显示全部楼层 |阅读模式

5.5.1 NVIC 中断使能和禁止使能
ARM® Cortex-M0+ 处理器支持最多32 个外部中断源,分别对应中断使能设置寄存器NIVC_ISER 的32 个使能位,
和中断使能清除寄存器NVIC_ICER 的32 个禁止位。将使能位置1,允许中断;将禁止位置1,禁止中断。
上文中NVIC 中断使能仅针对处理器NVIC 而言,外设的中断是否使能,还受相应外设的中断控制寄存器控制。
5.5.2 NVIC 中断挂起和清除挂起
在中断发生时,如果系统正在处理与之相同优先级或更高优先级的中断,系统将不会立即处理此中断,而是将中
断的状态设置为挂起,保存在中断挂起状态寄存器中;在处理器未进入此中断处理之前,如没有手动清除挂起状态,
该状态将会一直保持有效。当处理器开始进入中断处理时,硬件会自动清除相应的中断挂起状态。
用户可通过设置中断挂起设置寄存器NVIC_ISPR 的对应位,将此中断的状态设置为挂起状态,如果系统没有正在
处理与之相同优先级或更高优先级的中断,此中断将被立即响应并处理。
用户可以通过设置中断挂起清除寄存器NVIC_ICPR 的对应位,将此中断的状态设置为挂起清除状态。
5.5.3 NVIC 中断优先级
中断优先级控制寄存器NVIC_IPR0 ~ NVIC_IPR7,用于设置IRQ0~IRQ31 的中断优先级,每个中断源使用8 位,
在CW32x030 中仅使用了高两位,最多可设置4 个中断优先级。
注意:
ARM® Cortex-M0+ 的中断优先级寄存器的设置应在中断使能之前,用户不可在中断使能之后改变中断优先级,
这将导致不可预知的结果。
5.5.4 NVIC 中断屏蔽
在某些特殊场合,需要禁止所有中断,可以使用中断屏蔽寄存器PRIMASK 实现。PRIMASK 只有最低1 位有效,
将此位置1,除了NMI 和硬件错误异常之外的所有外部中断和异常都被禁止;清0 后,允许响应中断和异常。该
位复位后默认为0。
ARM® Cortex-M0+ 有专用的ARM 指令用于修改PRIMASK 寄存器,CPSIE i 和CPSID i,详细请参考《ARM® v6-M
Architecture Reference Manual》。
汇编指令示例参考:
CPSIE i ; 清除 PRIMASK (使能中断)
CPSID i ; 设置 PRIMASK (禁止中断)
C 语言(调用CMSIS 设备驱动库)示例参考:
void __enable_irq(void); // 清除 PRIMASK
void __disable_irq(void); // 设置 PRIMASK
5.5.5 外设中断使能
外设模块一般都有各自的中断使能寄存器,在使用中断时,必须首先打开外设中断使能,同时参见表5-1 中断向
量表打开该中断源的NVIC 中断使能。具体外设的中断使能,请参阅相关外设模块章节描述。

tpgf 发表于 2025-2-5 14:35 | 显示全部楼层
中断使能寄存器通过向特定的地址写入数据来设置或清除相应的使能位
xiaoqizi 发表于 2025-2-7 11:43 | 显示全部楼层
当某个中断源对应的使能位被设置为 1 时,该中断源的中断请求将被允许;若为 0,则禁止该中断源的中断请求
木木guainv 发表于 2025-2-7 13:29 | 显示全部楼层
当某个中断事件发生时,相应的中断标志位会被硬件自动置位;在中断处理程序执行完成后,通常需要软件将该标志位清除,以便接收后续的中断请求
Jiangxiaopi 发表于 2025-2-7 15:31 | 显示全部楼层
中断优先级寄存器用于设置各个中断源的优先级,当多个中断同时发生时,处理器会根据优先级来决定先处理哪个中断

szt1993 发表于 2025-2-7 17:09 | 显示全部楼层
NVIC 中断非常实用的功能
荣陶陶 发表于 2025-2-7 17:16 | 显示全部楼层
通过对优先级寄存器写入特定的值来确定各个中断的优先级顺序
Zhiniaocun 发表于 2025-2-7 19:01 | 显示全部楼层
在系统初始化或特定情况下,通过向中断向量表寄存器写入新的地址值来修改中断向量表的位置
peterLaw 发表于 2025-2-18 16:55 | 显示全部楼层
用户可通过设置中断挂起设置寄存器NVIC_ISPR 的对应位,将此中断的状态设置为挂起状态,如果系统没有正在
处理与之相同优先级或更高优先级的中断,此中断将被立即响应并处理。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

287

主题

2525

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部

287

主题

2525

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部