OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3527|回复: 9

想找个人解析一下stm32的定时器时间计算公式

[复制链接]

6

主题

14

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-10-15
在线时间
7 小时
发表于 2016-11-23 11:23:06 | 显示全部楼层 |阅读模式
10金钱
问题:在计算公式中为什么arr+1,为什么psc+1.

根据我们设计的 arr 和 psc 的值,就可以计算中断时间了。计算公式如下:
Tout= ((arr+1)*(psc+1))/Tclk;
其中:
Tclk:TIM3 的输入时钟频率(单位为 Mhz) 。
Tout:TIM3 溢出时间(单位为 us) 。


求一个比较深刻的解析加深脑海的影响

图片来自F4的定时器例程,应该是对于所有的stm32通用吧,我觉得

图片来自F4的定时器例程,应该是对于所有的stm32通用吧,我觉得

最佳答案

查看完整内容[请看2#楼]

好吧自己开的帖子,自己结了, 上个时序图,解析满满的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

14

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-10-15
在线时间
7 小时
 楼主| 发表于 2016-11-23 11:23:07 | 显示全部楼层
好吧自己开的帖子,自己结了, 上个时序图,解析满满的
1.jpg
回复

使用道具 举报

2

主题

17

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-3-20
在线时间
12 小时
发表于 2016-11-23 11:26:16 | 显示全部楼层
把0带上,比如9,就是0123456789,不就是9+1个数吗
回复

使用道具 举报

6

主题

14

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-10-15
在线时间
7 小时
 楼主| 发表于 2016-11-23 11:28:20 | 显示全部楼层
zjs123 发表于 2016-11-23 11:26
把0带上,比如9,就是0123456789,不就是9+1个数吗

但实质上是 变量自己加了9下,不觉得时间应该过去了9下吗
回复

使用道具 举报

24

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2016-10-30
在线时间
34 小时
发表于 2016-11-23 11:28:36 | 显示全部楼层
因为数值是从0开始的呀 比如说 预装载值为5  0 1 2 3 4 5 就有6个数了 那是不是要+1才变成6呢??
回复

使用道具 举报

6

主题

14

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-10-15
在线时间
7 小时
 楼主| 发表于 2016-11-23 11:34:47 | 显示全部楼层
托马斯拉丁 发表于 2016-11-23 11:28
因为数值是从0开始的呀 比如说 预装载值为5  0 1 2 3 4 5 就有6个数了 那是不是要+1才变成6呢??

是不是所为的溢出中断,是不是要超过这个值才算向上溢出中断
回复

使用道具 举报

2

主题

239

帖子

0

精华

高级会员

Rank: 4

积分
545
金钱
545
注册时间
2015-6-5
在线时间
110 小时
发表于 2016-11-23 11:39:19 | 显示全部楼层
應該是這樣解釋的

假設
我要定時5秒
那意思是第6秒就算是溢出

至於0這數值其實第六秒鐘中斷時就歸0了

所以實際上應該是
開始>1>2>3>4>5>6(歸0)>1>2>3>4>5>....
回复

使用道具 举报

6

主题

14

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-10-15
在线时间
7 小时
 楼主| 发表于 2016-11-23 11:46:32 | 显示全部楼层
Rocks 发表于 2016-11-23 11:39
應該是這樣解釋的

假設

这就不明白了
回复

使用道具 举报

6

主题

14

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-10-15
在线时间
7 小时
 楼主| 发表于 2016-11-23 13:43:40 | 显示全部楼层
自己顶一下
回复

使用道具 举报

0

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2015-12-26
在线时间
41 小时
发表于 2016-11-24 18:49:13 | 显示全部楼层
计时10次,正常情况是从1到10,在STM32定时器里是从0到9,所以定时器里的不管是计数值arr还是预分频值psc都是把0算进去了的,所以需要加1。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 11:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表