打印
[STM32F4]

请教:Timer的center-aligned mode

[复制链接]
3673|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
monkeybigking|  楼主 | 2014-6-19 14:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看STM32关于高级定时器的spec,提到这么一句话“When starting in center-aligned mode, the current up-down configuration is used. It means that the counter counts up or down depending on the value written in the DIR bit in the TIMx_CR1 register.”这句话的意思是不是说:如果我把cms配置成center-aligned mode,然后dir配置成1的话,那么计数器就应该是从ARR计数到0,然后再从0计数到ARR。是这样子的吗?
如果是这样子的,我还有另外一个问题,计数器在刚开始被enable之后,第一个计数脉冲ck_psc到来之前,计数器是应该0还是ARR呢?换句话说,当第一个ck_psc到来时,计数器是从0跳转到ARR,还是从ARR跳转到ARR-1?
不知道我描述清楚没有。。。。
请大家指点!非常感谢!
沙发
monkeybigking|  楼主 | 2014-6-20 09:02 | 只看该作者
自己顶一下~~~没人研究过这个问题么?

使用特权

评论回复
板凳
airwill| | 2014-6-20 11:48 | 只看该作者
是这样子的吗?                                是的.  从ARR计数到0,然后再从0计数到ARR。这个过程中 DIR 位会根据实际情况自动变化的.

计数器在刚开始被enable之后,第一个计数脉冲ck_psc到来之前,计数器是应该0还是ARR呢?换句话说,当第一个ck_psc到来时,计数器是从0跳转到ARR,还是从ARR跳转到ARR-1?
这个取决于 DIR 位的状态.

使用特权

评论回复
地板
monkeybigking|  楼主 | 2014-6-20 12:34 | 只看该作者
airwill 发表于 2014-6-20 11:48
是这样子的吗?                                是的.  从ARR计数到0,然后再从0计数到ARR。这个过程中 DI ...

DIR是1。(在enable counter之前,先把dir配成1,然后把cms配成了center-aligned-mode。)

使用特权

评论回复
5
匿名  2014-6-20 12:42
有时候规格没说清楚, 实验看看就知道了

使用特权

评论回复
6
戈卫东| | 2014-6-20 13:10 | 只看该作者
In this mode, the DIR direction bit in the TIMx_CR1 register cannot be written. It is updated
by hardware and gives the current direction of the counter
----
ST的RM说,这种模式下DIR不可写,它自己控制。

In center-aligned mode, the counter counts from 0 to the auto-reload value (content of the
TIMx_ARR register) – 1, generates a counter overflow event, then counts from the autoreload
value down to 1 and generates a counter underflow event. Then it restarts counting
from 0.
它从0计数到ARR-1,产生溢出信号,然后从ARR计数到1,再产生一个溢出信号,然后再从0开始。。。。下一个周期。

使用特权

评论回复
7
香水城| | 2014-6-20 17:56 | 只看该作者
在把定时器设置为中间对齐模式时(CMS),计时器是从当前值开始自加到ARR-1再自减,还是从当前值开始自减到0再自加,取决于之前设置的DIR位。

当然,一旦设置了CMS为中间对齐模式后,DIR就不能被软件修改了。

使用特权

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

本版积分规则

5

主题

15

帖子

0

粉丝