TIM定时器 溢出时间计算

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

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

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

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

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

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

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

相关推荐
Linux猿7 小时前
基于单片机的自行车里程表设计|附源码
单片机·嵌入式硬件·嵌入式·课程设计
学嵌入式的小杨同学8 小时前
STM32 进阶封神之路(三十九)FreeRTOS 临界区、挂起 / 删除、钩子函数、调度底层原理|从应用到内核深度解析
c++·stm32·单片机·嵌入式硬件·mcu·硬件架构·pcb
恒森宇电子有限公司10 小时前
南麟SA8304 单通道 H 桥直流有刷电机驱动芯片 ESOP8封装
单片机·嵌入式硬件
FreakStudio11 小时前
ESP32 实现在线动态安装库和自动依赖安装-使用uPyPI包管理平台
python·单片机·嵌入式·面向对象·电子diy·sourcetrail
4caf111 小时前
【51单片机】26/4/2 --0416
单片机·嵌入式硬件·51单片机
EmbeddedCore12 小时前
硬核实战:基于 C 语言宏定义的物联网网关命令分发框架设计
单片机·嵌入式
悠哉悠哉愿意15 小时前
【物联网学习笔记】ADC
笔记·单片机·嵌入式硬件·物联网·学习
foundbug99915 小时前
基于STM32的步进电机加减速程序设计(梯形加减速算法)
stm32·单片机·算法
busideyang16 小时前
嵌入式代码编写规范1.0
单片机·嵌入式
mftang16 小时前
Cortex-M 中断跳转: MCU内部实现原理和流程
单片机·嵌入式硬件·armv8-m