打印
[STM32F1]

关于定时器捕获的疑问

[复制链接]
727|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nalaismo1|  楼主 | 2015-7-14 11:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  最近开始学习定时器,目标是能够测量定时器捕获引脚上输入的连续的上升沿的间隔。我的想法是,配置定时器到一个足够大的周期,使得每个上升沿到达时,进入捕获中断,此时计数器没有溢出,读取CCRx的值,然后清零计数器,这样每次读取的CCRx的值就是上次上升沿和本次上升沿的时间间隔。
  问题是,按道理,在中断函数中,因为每次捕获时,定时器还没有达到溢出值,此时就被清0(用genereteEvent函数产生更新事件,因而复位计数器,不知对否?),定时器应该永远没有机会触发更新中断,但调试的时候却发现仍然触发了,不知这是什么原因?或者我在中断函数中应该如何“正确的”复位计数器,才能避免产生更新中断?
沙发
zchong| | 2015-7-14 13:32 | 只看该作者
让它溢出呗,计算的时候判一下是否溢出即可,一旦溢出就按照溢出的算法处理

使用特权

评论回复
板凳
nalaismo1|  楼主 | 2015-7-14 21:46 | 只看该作者
主要是如果是定时器不溢出,将会使程序代码非常简单,CPU负载小。更重要的是,我想弄清楚到底是硬件本身不允许,还是我的思路不对或是没配置好?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

12

帖子

0

粉丝