你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

timer初始化时TIM_Prescaler和TIM_Period混着用可以吗?

[复制链接]
beary 提问时间:2016-1-14 11:55 /
一般情况下是TIM_Period设为一个时钟频率的整数倍-1,TIM_Prescaler就按照想要更新的速率

不过我看到的公式是
两个数值 +1 相乘再除以时钟频率,得到定时器的时间,
那么请问这两个数值反过来用一样吗?
收藏 1 评论8 发布时间:2016-1-14 11:55

举报

8个回答
孤鸿踏雪遗梦 回答时间:2016-1-16 10:42:22
不太明白楼主的意思,我认为是一样的。这个我一般就按论坛里的教程做的:

假设时钟频率为48MHZ,如果指定预分频器即TIM_Prescaler的值为48000(-1),那么经48000分频之后的工作频率就是1000,也就是所谓的1KHz。如果再指定计数值即TIM_Period为1000(-1)的话,恰好就是1秒了。忘记那些计算公式吧,这样算就很好。

原文就这个意思,呵呵。
xmshao 回答时间:2016-1-16 11:04:40
顶楼上。
那些公式只是表述的需要才有的。关键你了解怎么回事就好,一般有个小学4年级上下水平都能理解过来。
只是平常有时懒于做些思考了。呵呵

至于为什么减一,你结合ST MCU定时器相关部分的时序图看看,都是从0开始算起的。
小川希尔 回答时间:2017-1-18 22:07:27
孤鸿踏雪遗梦 发表于 2016-1-16 10:42
不太明白楼主的意思,我认为是一样的。这个我一般就按论坛里的教程做的:

假设时钟频率为48MHZ,如果指定 ...

立马就懂了
ts2000 回答时间:2017-1-19 08:23:52
一个是分频系数,一个是计数值,可以一起用吧
海迹天涯 回答时间:2017-1-19 10:06:53
我觉得可以反过来,但是分频支持的数值好像没有周期的大
队长shiwo 回答时间:2017-1-19 11:27:51
来看看  不是很明白楼主意思
队长shiwo 回答时间:2017-1-19 11:31:57
arr 和 psc 的值,就可以计算中断时间了。计算公式如下:
Tout= ((arr+1)*(psc+1))/Tclk;
其中:
Tclk: TIM 的输入时钟频率(单位为 Mhz)。
Tout: TIM 溢出时间(单位为 us)。
lsjt 回答时间:2018-5-13 16:12:01
孤鸿踏雪遗梦 发表于 2016-1-16 10:42
不太明白楼主的意思,我认为是一样的。这个我一般就按论坛里的教程做的:

假设时钟频率为48MHZ,如果指定 ...

您好大神,我想问下,为什么教程里的72M时钟,就要除以36000,得数为2000,表示1秒计数2000次?那除以72000得数为1000,不也是1秒计数到1000?这个2000,1000的数是初值?初值不应该是从该数计数到65536?为何是从0计数到该数呢?实在不明白,希望大神指点!!!!

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版