打印

STM32处理器如何实现关所有中断功能

[复制链接]
6421|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wudonghua|  楼主 | 2009-10-12 21:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我一直没发现STM32有关所有中断的功能,想问一下大家是不是它不能实现。或者有什么办法来实现这个功能。一个个的关很麻烦!
沙发
zyok| | 2009-10-12 21:53 | 只看该作者
有的吧,看看中断屏蔽寄存器..
好像有条指令是 CPSID I 什么的。。

使用特权

评论回复
板凳
wudonghua|  楼主 | 2009-10-14 21:20 | 只看该作者
看了一遍手册还是没找到你说的这个指令

使用特权

评论回复
地板
wudonghua|  楼主 | 2009-10-14 21:22 | 只看该作者
看中断的结构上都是独立分开的。最后与NVIC异常中断管理有关,但也没看出有总控制中断位

使用特权

评论回复
5
ninesunsz| | 2009-10-15 09:26 | 只看该作者
库函数里的NVIC_SETPRIMASK 和NVIC_RESETPRIMASK可以起到开关所有中断的相同作用,该函数可以把运行优先级提到最高,结果和屏蔽中断一样,以前版主提过,用CPSID也可以,不过建议使用SETPRIMASK

使用特权

评论回复
6
戒指320| | 2009-10-24 19:35 | 只看该作者
luguo 留下脚印

使用特权

评论回复
7
zhaoxinzxzx| | 2009-10-26 22:23 | 只看该作者
IAR提供了这个函数啊,可以参考一下它的汇编实现啊!

ARM的手册里也有啊!

使用特权

评论回复
8
vigia| | 2009-10-27 09:27 | 只看该作者
asm("CPSID I");

不要忘记再打开!!

使用特权

评论回复
9
秋天落叶| | 2009-10-27 20:43 | 只看该作者
嗯,5楼说的很对

使用特权

评论回复
10
wudonghua|  楼主 | 2009-10-28 09:09 | 只看该作者
谢谢大家的回答!学习了!

使用特权

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

本版积分规则

3

主题

168

帖子

0

粉丝