标题:
关于中断的问题
[打印本页]
作者:
wanwei117
时间:
2006-3-16 15:53
标题:
关于中断的问题
斑竹你好,我用的是S12DG128B的芯片,在单步中断程序时,发现程序始终运行在终端子程序内,不知道为什么,请问是不是有什么相关指令,怎么处理?谢谢
作者:
seuafu2005
时间:
2006-3-16 17:50
看看你程序对应的汇编程序对不对,有没有RTI指令
作者:
wanwei117
时间:
2006-3-16 21:48
我是用c写的阿?
作者:
fireworks
时间:
2006-3-16 23:05
中断标志位清除没有,需要手工清除的
作者:
strongchen
时间:
2006-3-17 18:16
相应的中断是否一直在不停地发生?
作者:
wanwei117
时间:
2006-3-19 13:31
对,好像一直在发生,但是我没有让他循环阿?怎么回事
作者:
strongchen
时间:
2006-3-20 11:10
是什么中断?
作者:
wanwei117
时间:
2006-3-20 21:20
#pragma CODE_SEG NON_BANKED
interrupt 8 void Interrupt_TIMER0(void){
TC0=0xffff;
TCNT=0x00ff;//?????????????
PORTB=j;
j=j*2;
if(j==0x80)j=1;//流水灯
TFLG1=0x01;
}
void main(void) {
DDRB=0xFF;
PORTB=0xFF;
TIOS=0x01;
TIE=0x01;
TCTL2=0x03;
TC0=0xffff;
TSCR2=0x87;
TSCR1=0x80;
EnableInterrupts;
for(;;) {
asm {
nop;
nop;
nop;
}
};
}
程序如上,您帮我看看吧,谢谢了,我也不知道问题出在哪,单步时好像一直没跳出来
[此贴子已经被作者于2006-3-20 21:20:41编辑过]
作者:
strongchen
时间:
2006-3-21 11:58
进中断之后,把中断关断,再清一下中断标志,然后再运行试试。
作者:
jiazhenhua
时间:
2006-4-6 00:46
在中断服务子程序中第一句加上
TFLG2_TOF = 0; //clear timer overflow flag
而且增强定时器中断也不是8号,我查了一下中断表,应该是17号ECT。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0