打印
[CW32F003系列]

NVIC 中断屏蔽

[复制链接]
398|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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升级过程中需禁用外部中断,防止升级过程中外部中断触发导致升级失败。

使用特权

评论回复
5
小小蚂蚁举千斤| | 2024-3-19 17:58 | 只看该作者
禁止所有中断,可以使用中断屏蔽寄存器 PRIMASK 实现。

使用特权

评论回复
6
小夏天的大西瓜| | 2024-3-19 18:59 | 只看该作者
使用中断屏蔽寄存器 PRIMASK 实现禁止中断功能

使用特权

评论回复
7
中国龙芯CDX| | 2024-3-21 14:45 | 只看该作者
禁止所有中断,可以使用中断屏蔽寄存器 PRIMASK 实现,有具体的过程措施嘛?

使用特权

评论回复
8
jf101| | 2024-3-22 12:27 | 只看该作者
一般在MCU初始化的时候都需要关中断,初始化完成后再打开中断,这个过程是系统自动进行的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1471

主题

11735

帖子

51

粉丝