Board logo

标题: ECT中断问题,请老陈帮忙下... [打印本页]

作者: hejianqian    时间: 2009-5-22 10:46     标题: ECT中断问题,请老陈帮忙下...

//初始化程序

void ECT_Init1(void)
{
DDRA=1;
ECT_TIOS=1; //设定1为输出
ECT_TSCR1=0x90;//TIME ENABLE
ECT_TSCR2=0x07;//选定与分频系数为128
ECT_TC0=0xffff;//触发时机
ECT_TIE=1;//允许中断
}

中断程序


interrupt void ECTCH0_ISR(void)
{
Pulse_Count++;
}

板子的时钟为24M,一个中断周期应该为128*65536/24M=0.349S左右,然后是Pulse_Count++,一次才对吧,但是程序一跑起来Pulse_Count马上就变成了一个天文数字. 按正常的来说应该是慢慢的加上去的. 眼睛应该可以看到数据的变化的,我用单步调了一下,Pulse_Count是从0加上去的.也就是说中断已经进去了,但就是太快了...

请帮忙看一下..谢谢....


作者: strongchen    时间: 2009-5-22 16:07

调试时变量并不是实时更新的。
作者: hejianqian    时间: 2009-5-22 17:32

听不大明白,可以说清楚点吗?


作者: fish1330    时间: 2009-5-25 10:07

中断标志没清除.所以程序一直在中断中,出不来.

interrupt void ECTCH0_ISR(void)
{
byte temp;
temp = TC0;
Pulse_Count++;
}


作者: hejianqian    时间: 2009-5-25 11:25

问题已解决,呵呵,谢谢.....




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0