首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于中断的问题

关于中断的问题

斑竹你好,我用的是S12DG128B的芯片,在单步中断程序时,发现程序始终运行在终端子程序内,不知道为什么,请问是不是有什么相关指令,怎么处理?谢谢
看看你程序对应的汇编程序对不对,有没有RTI指令
我是用c写的阿?
中断标志位清除没有,需要手工清除的
相应的中断是否一直在不停地发生?
海纳百川  有容乃大
对,好像一直在发生,但是我没有让他循环阿?怎么回事
是什么中断?
海纳百川  有容乃大
#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编辑过]

进中断之后,把中断关断,再清一下中断标志,然后再运行试试。
海纳百川  有容乃大
在中断服务子程序中第一句加上
TFLG2_TOF = 0; //clear timer overflow flag
而且增强定时器中断也不是8号,我查了一下中断表,应该是17号ECT。
lazy crazy
返回列表