//初始化程序 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加上去的.也就是说中断已经进去了,但就是太快了... 请帮忙看一下..谢谢....
|