TIM定时器 溢出时间计算

c42c031adffa4b72bf694f0e1d502398.jpg

 在f1系列,所有定时器的时钟源频率都是72mhz,因为不管是挂在apb1还是apb2时钟总线上的定时器,经过倍频或者不倍频以后都将把定时器的频率设置成72mhz

时钟源频率除以psc+1以后得到实际的频率,之所以psc要加1,是因为设置0得到分频是1,就是0-65535和1-65536这样比对的,我觉得是因为是从位运算从0开始计算,所以实际算的时候需要加1,得到实际的频率的倒数就是计数一次需要的时间,这个计数一次的时间×计数值就得到定时的时间,之所以这个计数值需要加1,是因为计数是0其实是没有用的,最少计数一个周期才有效

12d3cf23dede451b9a4958e5f4e6bc2e.jpg

 这个图里面的红色的字就是计算过程

 

a3695e9720b44704a3c762d1b717dd06.jpg

 这个是 定时器基本配置步骤,但是用cubmx的话只需要自己写最后中断回调函数里面的逻辑就好了,但是这个基本的配置步骤思路还是要知道

 

6d67d90ff1674c759760292be3251957.jpg

 这个是配置步骤中,每一个函数所操作的寄存器是什么,如果出问题了,可以看寄存器的值对不对

984bcfbca18a42cb928e57fe48c3b495.jpg

 注意  这里有一个是以前困扰我的问题,更新中断其实就是溢出中断,也就是到了定时器计数的最大值溢出以后,(也就是更新),就触发中断

这里有个计算,因为f1系列定时器的时钟源频率都是72mhz,超时时间是500ms,ARR是重装载寄存器,psc是预分频,所以只需要知道时钟源频率和超时时间 ,就可以斗出来重装载值和预分频系数,这两个值是可以随意组合的,反正只要能够得到想要的超时时间就可以了

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
定时器TIM计算公式为:Tout = ((arr + 1) * (psc + 1)) / Tclk,其中Tout表示定时器溢出时间(单位为us),arr表示装载值,psc表示预分频器的值,Tclk表示定时器的输入时钟频率(单位为MHz)。 这个公式的推导如下: 1. 定时器的时钟频率是Tclk。当预分频器为psc时,时钟频率被分频了psc + 1。所以定时器的最终频率为Tclk / (psc + 1)。 2. 当装载值设为arr时,定时器从0计数到arr时清零。 3. 所以定时时间为:Tout = ((arr + 1) * (psc + 1)) / Tclk,注意单位为us。 如果你不想死记这个公式,可以使用STM32定时器参数自动生成工具。输入想要的定时时间,自动生成相应的寄存器参数,非常方便。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [STM32定时器时间计算公式](https://blog.csdn.net/lc1014136855/article/details/104190297)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [STM32 的TIM 定时器参数计算工具](https://download.csdn.net/download/qq_16689775/10846736)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [2023年电赛E题代码-stm32部分源码、jetson nano上的OpenCV源码及电路板PCB原理图设计](https://download.csdn.net/download/qq_32971095/88226738)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值