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