打印

stm32定时器 重复计数器的使用问题

[复制链接]
7375|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kuyu20|  楼主 | 2013-10-10 17:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
高级定时器的重复计数器在使用上有点疑惑,请教一下:
假设本次有257个脉冲需要发送,能否分两次,第一次设置重复计数器为2,第二次设置重复计数器为255?
那么设置第二次的255的时机在哪里呢?
在第一次的更新中断里好像不行,因为更新中断进去后,重复计数器又自动的装载为2了吧?
那么在第一次的中断里写重复计数器为255,然后人为的操作一下更新标志,让它产生一次软件更新吗?
沙发
airwill| | 2013-10-10 19:05 | 只看该作者
数据手册上说:
开启了预装载功能后,这些位允许用户设置比较寄存器的更新速率(即周期性地从预装载寄存器传输到当前寄存器);如果允许产生更新中断,则会同时影响产生更新中断的速率。
每次向下计数器REP_CNT达到0,会产生一个更新事件并且计数器REP_CNT重新从REP值开始计数。由于REP_CNT只有在周期更新事件U_RC发生时才重载REP值,因此对TIMx_RCR寄存器写入的新值只在下次周期更新事件发生时才起作用。

可见,每次中断中及时更改 RCR 就可以了

使用特权

评论回复
板凳
kuyu20|  楼主 | 2013-10-10 21:12 | 只看该作者
比如第一次设置的是2次,在这个2次更新中断里更改为255次,那岂不是还要经历一个2次的更新中断后,255的次数才起作用?

感觉很模糊,被绕进去了。

使用特权

评论回复
地板
微微撒| | 2014-5-6 11:27 | 只看该作者
请教:STM32 TIM1重复计数器不能正常使用:重复计数器赋值不为0时,只要有溢出就会产生更新???

使用特权

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

本版积分规则

14

主题

65

帖子

1

粉丝