如何判断定时器是向上溢出还是向下溢出

censtar_qjc   2010-12-12 22:30 楼主
                                 STM32用在正交编码器上,为了得到一个很大的累计值(超过360度,与CNT寄存器一起组成32位的寄存器),所以需要进行累计,希望在定时器向上溢出时,高16位值加1,当向下溢出时则减1。

回复评论 (6)

                                 这个问题可以通过应用本身的特性解决:向上溢出时,读出的CNT数值应是一个很大的数,而向下溢出时,则读出的CNT数值应是一个很小的接近0的数。
点赞  2010-12-13 10:08
                                 没有标志位吗?
点赞  2010-12-13 12:51
                                 没看到有标志位。
点赞  2010-12-13 13:38
if((TIM3->CR1 & TIM_CounterMode_Down) != TIM_CounterMode_Down)
            Capture++;

点赞  2014-4-5 17:26
我也是刚遇到这个问题,现在终于解决了,这个事最保险的办法
点赞  2014-4-5 17:27
不需要设置,定时器为计数模式时自己回0的.初始化时只需要在0位置赋一次值其它就不用管了.
点赞  2014-4-6 21:24
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复