taikonaut 发表于 2007-5-31 09:53

请教2812的脉冲捕获问题,急,请高手指点!

我采用信号发生器输出到CAP1上,将脉冲捕获的定时器128分频,此时可捕获的脉冲最大间隔应是50ms左右,没有超限。我开始是在中断中每次将定时器清零,<br /><br />我现在修改了中断程序,没有在中断程序中将定时器清零,我觉得这是不准确的,应该通过两次捕获的差值来计算,但遇到了,两个新问题,<br />1。定时器是选择连续递增模式,到定时周期时自动清零重新开始记数,并产生周期中断标志,然后我在程序中判断标志为,如果有则用定时周期,减去前一次捕获的值,再加上新捕获的值,这就得到了两个脉冲之间的定时值,假如我将定时周期设我60000,则与定时周期最接近的脉冲应该五万多,但在线观察,有时减去的前一次的值很小,而且是已经越过周期定时点,重新开始记数的值<br />2&nbsp;将一恒定信号加入后,定期会出现CAPFIFO的状态位为11的情况,而大多数的情况是为10<br />当出现为11是,FIFO的两层堆栈值竟然相等!这是怎么回事?<br /><br />我的测试程序很短,主程序就是一个for循环,内部没有代码,然后就是中断处理程序,我在中断处理中试了三种读取CAP1FIFO堆栈的值,一是每个中断只读一个顶层的值,而是连续两次读取顶层堆栈的值,三是先读底层,然后读顶层,第二种和第三种应是一样的,这些测试,都有两次值相等的情况,真郁闷!<br /><br />多谢高手指点!谢谢!&nbsp;<br />

ertuo104 发表于 2007-5-31 19:01

ddffffffffffffffffffffff

fddddddddfffffafddddddddddddddddd

hngchp 发表于 2008-3-28 08:50

问题解决了吗

我也遇到和你一样的问题,如果解决了,请分享一下

玻璃之城 发表于 2011-11-2 16:57

1# taikonaut
你好啊,看到你的帖子,请问你的问题解决了吗?

jesuswd 发表于 2011-12-23 17:00

还是说的不太清楚。
页: [1]
查看完整版本: 请教2812的脉冲捕获问题,急,请高手指点!