打印

请教,在ARM 的ISR中断程序中,是否一定要先清中断标志,

[复制链接]
4344|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhaoem82|  楼主 | 2007-1-21 22:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
huanhuan03| | 2007-1-24 08:30 | 只看该作者

都可以

只要在退出ISR之前清都可以

使用特权

评论回复
板凳
huanhuan03| | 2007-1-24 08:40 | 只看该作者

顺便问一下:外中断电平触发是不是只能是低电平触发?

手册上说可以是高,也可以是低;但有相关资料说只能是低
不知道为什么,也不知道具体原因是什么

使用特权

评论回复
地板
zhaoem82|  楼主 | 2007-1-24 11:19 | 只看该作者

不一定,看是什么处理器

外中断电平有些处理器配置选择参数,有些就不能

使用特权

评论回复
5
DSPhoter| | 2007-1-25 08:26 | 只看该作者

当然一进ISR就立即清

使用特权

评论回复
6
DSPhoter| | 2007-1-25 08:29 | 只看该作者

当然一进ISR就立即清了

如果不立即清,而在清中断寄存器之前有若干代码,如果在执行这些代码时候死机,你的清寄存器指令将执行不到,下一次REBOOT时候肯定会出现问题。2410手册推荐的清0方法是用原值写原值,但是实际上只有INTPND推荐这么做,因为非抢占式内核,同一时刻INTPND只有一位为1,而其他的用CPU推荐的方法清零可能会出现问题,具体问题具体分析。

使用特权

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

本版积分规则

13

主题

75

帖子

0

粉丝