[STM8] stm8定时器捕获溢出问题。

[复制链接]
1615|1
 楼主| FAQ 发表于 2014-3-1 10:27 | 显示全部楼层 |阅读模式
本帖最后由 FAQ 于 2014-3-1 10:29 编辑

定时器捕获信号测频率

固件库里面的例子是这样处理捕获的结果的。
  1.       /* Capture computation */
  2.       if (IC3ReadValue2 > IC3ReadValue1)
  3.       {
  4.         Capture = (IC3ReadValue2 - IC3ReadValue1); //两次捕获期间定时器没有溢出
  5.       }
  6.       else
  7.       {
  8.         Capture = ((0xFFFF - IC3ReadValue1) + IC3ReadValue2); //两次捕获期间定时器溢出一次
  9.       }
如果捕获溢定时器计时溢出了一次的话,Capture = ((0xFFFF - IC3ReadValue1) + IC3ReadValue2);这样做就可以了,但是如果两次捕获间隔时间很长,定时器溢出不止一次呢。怎么知道两次捕获这期间定时器到底计时了多少呢。有对应的标志位么,比如捕获溢出一次来一个标志位,不知道有没有这个功能。
zxc729 发表于 2014-3-1 13:43 | 显示全部楼层
定时器溢出有中断 啊。你可以在中断中对定时器溢出次数计数就可以了。我前段时间作个测量信号周期的东西,就是这样作的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

FAQ

233

主题

2050

帖子

9

粉丝
快速回复 在线客服 返回列表 返回顶部