我在合众达的目标板上测试脉冲捕获模块,我采用TIMER0中断使输出产生方波,然后将该输出引到CAP1上,在每次进入中断程序里我把定时器记数清零,在线观察发现,中断等没问题,记数很不准(CAPFIFO中的值)而输入采用信号发生器时情况也是一样,我想测频,结果捕获的值波动太大了!而且我将脉冲捕获的定时器128分频,此时可捕获的脉冲最大间隔应是50ms左右,没有超限。
我在中断里的代码是 interrupt void isr_cap1(void) {
EvaRegs.T1CNT = 0; cap1_InterruptCount++; cap_res0=EvaRegs.CAP1FIFO; cap_res1=EvaRegs.CAP1FBOT; EvaRegs.EVAIFRC.all=0xFFFF; PieCtrlRegs.PIEACK.all|=PIEACK_GROUP3; }
请问这是什么原因?是EV中那设置有问题吗?谢谢!
|