标题: [求助]我的中断返回不了 [打印本页]
作者: help02034025 时间: 2006-5-1 18:01 标题: [求助]我的中断返回不了
#pragma CODE_SEG NON_BANKED
interrupt void timer_channel0_isr(void)
{
TIE &=0xFE; // Timer Interrupt Mask disable
TFLG1 |=0x01; // Input Capture/Output Compare Channel “x” Flag.
// To clear a bit in the flag register, write a one to the bit.
PWME &=0xFB; // Disable pwm1
}
#pragma CODE_SEG DEFAULT
怎么执行到中断服务程序后还回不了呢?
作者: seuafu2005 时间: 2006-5-3 08:38
是不是你的中断间隔太密了,总是进入中断
作者: lujiajiang 时间: 2006-5-14 17:58
help02034025,你的问题我也遇到了,不知你解决没有?到底是什么原因?
作者: wuyue 时间: 2006-5-14 18:31
这个问题难了我好久,各位高手,谁能指点一下。
为什么定时的中断无法返回,程序一直在中断服务函数里跳。
作者: flying1983 时间: 2006-5-15 14:28
关中断之后是不是还要再开一下
作者: flying1983 时间: 2006-5-15 14:40
应该在中断子程序结束时在把本程序开头禁止的中断在使能 一下,我试过了。
作者: wuyue 时间: 2006-5-16 15:03
昨天仔细查看了一下,中断是可以返回的,不要用单步调试,单步调试时指令指针不会返回到主程序的,个人估计可能是在单步调试时,TCNT仍在计数。可以尝试在中断服务函数里给一个变量赋值,然后在主程序EnableInterrupt语句后加入一些指令(因为EnableInterrup是清除全局中断屏蔽位I的,清除后便可进入中断),查看中断里的赋值是否有效,具体可以在IO口上拉高或拉低电平,驱动LED。注意,用以检测的赋值变量必须声明为全局静态变量。
作者: geathem 时间: 2006-5-17 21:46
应该是模块在单步调试时仍然在运行导致的,可以设置。
另外,大家有没有遇到这样情况,就是我在XGATE和CPU交互的时候怎么一全速就在命令窗口出现illegal-BP啊?
我用XGATE做PIT和ADC中断时是可以的啊,可用他做SCI时候就不行了,中断向量和优先级分配应该也没问题的,下次吧代码贴出来。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) |
Powered by Discuz! 7.0.0 |