TIM1是我见过最复杂的TIMER

[复制链接]
5518|19
 楼主| Star2010 发表于 2010-3-9 21:01 | 显示全部楼层 |阅读模式
我只想用TIM1作个定时器:每5ms产生一次中断.该怎么实现呀?

这2个图,应该怎么理解?
未命1.jpg
未命名.jpg
 楼主| Star2010 发表于 2010-3-9 21:03 | 显示全部楼层
为什么要从从FF--->00这个过程?
gxgclg 发表于 2010-3-9 21:12 | 显示全部楼层
只是想用定时器做一个中断,配置好定时器就可以了
司徒老鹰 发表于 2010-3-9 22:44 | 显示全部楼层
确实很复杂
VERY0 发表于 2010-3-10 09:38 | 显示全部楼层
确实很复杂
香水城 发表于 2010-3-10 10:14 | 显示全部楼层
TIM1是我见过功能最强的TIMER,:lol
lollipooop 发表于 2010-3-10 10:29 | 显示全部楼层
TIM1是我见过功能最强的TIMER,:lol
香水城 发表于 2010-3-10 10:14


STM32的精髓所在啊。
cwei85 发表于 2010-3-10 12:07 | 显示全部楼层
已经被定时器弄晕了,文档又看不明白
lxyppc 发表于 2010-3-10 12:22 | 显示全部楼层
Timer1只是个传说
香水城 发表于 2010-3-10 12:23 | 显示全部楼层
Timer1只是个传说
lxyppc 发表于 2010-3-10 12:22


不但是传说,而且是现实,:lol
bili 发表于 2010-3-10 12:25 | 显示全部楼层
TIM1确实是很强大的。大家要认真看规格书哦,好东西自然要费点时间去钻研的,没深度的不能称为精品

评分

参与人数 1威望 +2 收起 理由
香水城 + 2

查看全部评分

 楼主| Star2010 发表于 2010-3-10 12:28 | 显示全部楼层
的确需要仔细研究才能用好TIM1.
linqing171 发表于 2010-3-10 12:40 | 显示全部楼层
晕,就是auto reload的寄存器的值要隔一次才能生效。。。。。
如此设计应该是因为 定时器电路 和 总线 异步的原因吧。
linqing171 发表于 2010-3-10 12:41 | 显示全部楼层
用5ms除以定时器的周期,写到autoreload里面,等着定时器第二次中断来,以后的中断间隔就准了。
香水城 发表于 2010-3-10 14:13 | 显示全部楼层
晕,就是auto reload的寄存器的值要隔一次才能生效。。。。。
如此设计应该是因为 定时器电路 和 总线 异步的原因吧。
linqing171 发表于 2010-3-10 12:40


请看我的博客:STM32定时器的预装载寄存器与影子寄存器之间的关系

根据TIM_CR1的APRE位的设置,如果APRE=0,则写入自动重装载寄存器时,写入的内容会直接进入实际操作的影子寄存器中;如果APRE=1,则写入自动重装载寄存器时,写入的内容会先进入预装载寄存器中,在每次发生更新事件时才会传送到实际操作的影子寄存器中。

更新事件的产生有2种情况:
TIM_CR1的URS=0:计数器溢出/下溢、设置UG位或从模式控制器都可以产生更新事件;
TIM_CR1的URS=1:只有计数器溢出/下溢才能产生更新事件。

13楼问题的原因应该是:设置了APRE=1,但没有通过设置UG位产生更新事件,立即把写入的数据传送到影子寄存器;而是等到计数器溢出时才真正地更新了影子寄存器的内容。
自然的天逸 发表于 2010-3-10 15:46 | 显示全部楼层
定时器1 功能 很强大
linqing171 发表于 2010-3-10 19:40 | 显示全部楼层
香板出来了,原来如此,没有用过ST的Timer,仅仅从图上看,还感觉纳闷呢,原来是故意做的影子。。
McuPlayer 发表于 2010-3-15 22:12 | 显示全部楼层
如果你做电机驱动,TIM1的newbility就表现出来了
yangshaowu 发表于 2010-3-16 16:35 | 显示全部楼层
你用什么功能就看什么吧。
xsgy123 发表于 2010-3-16 20:22 | 显示全部楼层
虽然复杂,但功能确实很强
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

30

帖子

1

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