打印
[ZLG-ARM]

中断禁止使能问题

[复制链接]
2408|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
youhu520|  楼主 | 2007-7-13 22:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
IO, se, ic, BLE, vi
void __irq IRQ_Timer0 (void)
{
        IRQDisable();                          //禁止向量中断
    if ((IO0SET & BEEP) == 0)
        IO0SET = BEEP;            /* 关闭BEEP                                        */
    else
        IO0CLR = BEEP;
    
    T0IR = 0x01;                /* 清除中断标志                                    */
    VICVectAddr = 0x00;            /* 通知VIC中断处理结束    
 //       IRQEnable();            ___________我把开中断屏蔽掉了,为什么还会继续进行中断啊                        */
}


在上面进入中断时我把中断禁止了,出来时我也没使能中断,为什么程序照样进行定时中断啊

相关帖子

沙发
bqt| | 2007-7-13 22:30 | 只看该作者

re

中断返回时,会使CPSR=SPSR,你的改动当然就无效了。况且进入中断后,中断默认就是关闭的,你再去关闭中断,多余了。

使用特权

评论回复
板凳
youhu520|  楼主 | 2007-7-14 09:51 | 只看该作者

谢谢bqt的解释 !


谢谢bqt啊!

使用特权

评论回复
地板
youhu520|  楼主 | 2007-7-16 20:17 | 只看该作者

如果这样那岂不是不可以中断嵌套了吗??

如果进入中断后,中断默认就是关闭的,你再去关闭中断,是多余的,那我岂不是不可以进行中断嵌套了吗?如果我处理中断时有更高级中断发生那会怎么样?

使用特权

评论回复
5
洪七公| | 2007-7-17 01:36 | 只看该作者

关闭全部向量中断可能更快些

使用特权

评论回复
6
youhu520|  楼主 | 2007-7-17 21:08 | 只看该作者

关闭全部向量中断可能更快些??

关闭全部向量中断可能更快些?不明白什么意思?
调用IRQDisable()没有关闭全部向量中断吗?  
还有我想问下,如果在中断关闭了向量中断,那我是不是不可以进行中断嵌套拉??比如说我处理器正在运行UART0收发中断程序 ,这是有个更高级的定时器0中断产生中断,如果关掉中断呢,程序还能跳到定时器0中断程序?                     

使用特权

评论回复
7
hotpower| | 2007-7-17 21:27 | 只看该作者

如果只有向量中断,用VIC->SoftIntClr = 0xffffffff;

当然要注意对VIC->SoftIntClr的保护和恢复了~~~

使用特权

评论回复
8
bqt| | 2007-7-18 21:58 | 只看该作者

re

用 __irq 这样声明的中断处理函数是不能实现中断嵌套的。
irq模式的LR很可能被覆盖掉,导致无法返回。
而且还有很多其它问题。

使用特权

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

本版积分规则

5

主题

56

帖子

0

粉丝