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

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,如果指定 ...

立马就懂了
小小超 回答时间: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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版