打印
[STM32F0]

用NVIC的ISER和ICER同时操作2个或以上中断时,是原子操作吗?

[复制链接]
2464|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
acguy|  楼主 | 2014-11-22 14:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ICE, vi, se, ic, ce
会不会出现一个中断打开而另一个还未打开的瞬间,发生中断?
沙发
john_lee| | 2014-11-22 19:25 | 只看该作者
这也钻牛角尖?
中断未打开时发生了中断又没有什么关系,中断又没有丢失,打开了中断就会响应。

使用特权

评论回复
板凳
airwill| | 2014-11-23 08:09 | 只看该作者
由于 ISER 和 ICER 都是 1值有效, 0 值误影响, 所以你大可一次写操作完成所要的所有中断项的写入. 因为没有读-修改-写 的过程, 所以可以实现原子操作.
当然: 具体还得看你怎么写代码.  因为库函数  NVIC_EnableIRQ() 和 NVIC_DisableIRQ() 并不支持你的多个中断控制的操作.

使用特权

评论回复
地板
acguy|  楼主 | 2014-11-23 13:54 | 只看该作者
airwill 发表于 2014-11-23 08:09
由于 ISER 和 ICER 都是 1值有效, 0 值误影响, 所以你大可一次写操作完成所要的所有中断项的写入. 因为没有 ...

我就是想一次写2个位。

使用特权

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

本版积分规则

15

主题

203

帖子

1

粉丝