[CW32F003系列] NVIC 中断屏蔽

[复制链接]
 楼主| forgot 发表于 2024-2-29 08:50 | 显示全部楼层 |阅读模式
vi, ic, TE, rim, ARM
在某些特殊场合,需要禁止所有中断,可以使用中断屏蔽寄存器 PRIMASK 实现。PRIMASK 只有最低 1 位有效,将此位置 1,除了 NMI 和硬件错误异常之外的所有外部中断和异常都被禁止;清 0 后,允许响应中断和异常。该位复位后默认为 0。ARM®Cortex-M0+ 有专用的 ARM 指令用于修改 PRIMASK 寄存器,CPSIEi 和 CPSID i,详细请参考《ARM® v6-MArchitectureReference Manual》。

szt1993 发表于 2024-3-4 15:00 | 显示全部楼层
禁止所有中断?什么场合下会禁用全部的呢?
LOVEEVER 发表于 2024-3-4 15:30 | 显示全部楼层
某些特殊场合,需要禁止所有中断?这个确实遇到的比较少
pssyx 发表于 2024-3-5 09:32 | 显示全部楼层
szt1993 发表于 2024-3-4 15:00
禁止所有中断?什么场合下会禁用全部的呢?

只是暂时禁止所有中断!
一般在MCU初始化的时候都需要关中断,初始化完成后再打开中断。
又比如:MCU在IAP升级过程中需禁用外部中断,防止升级过程中外部中断触发导致升级失败。
小小蚂蚁举千斤 发表于 2024-3-19 17:58 | 显示全部楼层
禁止所有中断,可以使用中断屏蔽寄存器 PRIMASK 实现。
小夏天的大西瓜 发表于 2024-3-19 18:59 | 显示全部楼层
使用中断屏蔽寄存器 PRIMASK 实现禁止中断功能
中国龙芯CDX 发表于 2024-3-21 14:45 | 显示全部楼层
禁止所有中断,可以使用中断屏蔽寄存器 PRIMASK 实现,有具体的过程措施嘛?
jf101 发表于 2024-3-22 12:27 | 显示全部楼层
一般在MCU初始化的时候都需要关中断,初始化完成后再打开中断,这个过程是系统自动进行的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2064

主题

14492

帖子

59

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

2064

主题

14492

帖子

59

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