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

ECT中断问题,请老陈帮忙下...

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加上去的.也就是说中断已经进去了,但就是太快了...

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

调试时变量并不是实时更新的。
海纳百川  有容乃大

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

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

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

/********** 飞思卡尔交流QQ群:82738157 ************/
问题已解决,呵呵,谢谢.....
返回列表