TIMERA计数问题

jasonliu   2005-11-12 13:56 楼主
用TIMERA对外来脉冲计数,脉冲输入TACLK,读到的值总是不准,不知道各位有什么高招?TIMERA益出有什么好办法可以连续计数?

回复评论 (8)

问题1:怎么个不准?漏计还是多计?输入频率多少?
问题2:在输入频率不高的情况下,建议用TimerA的溢出中断,在中断中读取计数器的值到某一个内存累加变量中后再清除计数器值或恢复预置值,达到连续计数的目的。当然整个中断处理过程的时间要小于输入脉冲的1/2周期。
点赞  2005-11-12 23:29
1、应该是漏计了,输入频率不是很高,最高也就是20KHZ。
2、TIMERA我用的是连续计数到0XFFFF后中断的方式,在溢出中断里累计中断次数。然后应用程序里面用溢出次数*65535+TAR值,就是连续计数值。但是结果相差很大,很大。

要是我用IO口中断计数方式,倒是很准。但是程序中断太频繁,影响到我其他的模块处理!
点赞  2005-11-14 09:21

4楼 hwh 

顶!
点赞  2005-11-15 11:41
偶也对这个问题很迷惑,麻烦斑竹给解答一下可好?
点赞  2005-11-15 12:26
顶!
点赞  2005-11-16 09:46
用两个定时器行不?
点赞  2005-11-16 20:22
可能跟晶振有关系,建议提高晶振试试!
点赞  2005-11-16 21:41
引用:

1、应该是漏计了,输入频率不是很高,最高也就是20KHZ。
2、TIMERA我用的是连续计数到0XFFFF后中断的方式,在溢出中断里累计中断次数。然后应用程序里面用溢出次数*65535+TAR值,就是连续计数值。但是结果相差很大,很大。

要是我用IO口中断计数方式,倒是很准。但是程序中断太频繁,影响到我其他的模块处理!
同样问题 急!!!大虾们帮忙解答一下。
点赞  2008-8-25 08:38
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复