我采用向上计数模式,发生捕获时重新开始计数,这样在一个脉冲计算周期只要知道捕获脉冲值的总和跟捕获的次数就可以计算脉冲频率,如果定时器不溢出的话,捕获次数漏掉几次都无所谓,但是出现定时器溢出又漏掉捕获次数就计算不出捕获脉冲了。
点赞  2010-5-15 11:19
                                 最好是定时器捕获周期足够长,这样就可以降低对捕获事件的依赖程度。
点赞  2010-5-15 11:22
我采用向上计数模式,发生捕获时重新开始计数,这样在一个脉冲计算周期只要知道捕获脉冲值的总和跟捕获的次数就可以计算脉冲频率,如果定时器不溢出的话,捕获次数漏掉几次都无所谓,但是出现定时器溢出又漏掉捕获次 ...
如果发生定时器溢出,说明2次捕获之间的时间比较长,不大可能出现漏掉捕获事件的问题,如果真的是漏掉了,说明你的查询的间隔周期太长了。

同样更不会出现漏掉溢出标志的问题。我们可以做一个简单的计算:假定定时器的时钟频率为72MHz,则计数器溢出的时间周期是910us,也就是说,只有你的查询间隔周期超过910us,才会发生漏掉溢出事件的情况,如果真的漏掉了,则需要好好查查你的算法了。
点赞  2010-5-15 12:00
提示: 作者被禁止或删除 内容自动屏蔽
点赞  2010-5-15 13:34
引用: absq 发表于 2010-5-10 10:54
update(更新)标志就是计数器的溢出标志!

你说的是不是 TIMx_SR_UIF Updata interrupt flag ?根据我的理解,只要计数器更新为初始值,就会UIF置1
点赞  2017-4-26 18:04
引用: absq 发表于 2010-5-10 10:54
update(更新)标志就是计数器的溢出标志!

你说的是不是 TIMx_SR_UIF Updata interrupt flag ?根据我的理解,只要计数器更新为初始值,就会UIF置1
点赞  2017-4-26 18:04
12
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复