stm32通用定时器是 TM2 3 4 5。
功能包括:
向上向下计数。
16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65536之间的任意的值
等等
简单介绍一下利用TIM产生中断方法:
其中有三个寄存器很重要:
TIMx_CR1 时钟控制寄存器
TIMX_ARR 自动重装载寄存器
timx_psc 预分频器
下面重点介绍一下如何配置时钟
如果选取系统时钟为72MHZ
刚开始我对这么分频为什么要减一很纠结,仔细看一下数据手册,如上图,当分频数位2时,预分频的计数值为1,所以设置预分频计数值时 应该等于预想值减一,比如,如果想产生1MHZ的定时器频率,那么自动重装重装计数器为什么也要减一呢?一样的道理,如上图,当计数器寄存器的值设置为FC时,当计数到达FC时,产生时间更新,此后又重新从0开始计数,所以重装计数器寄存器的值要比计数器实际值小1.
TIMx_PSC = 71
TIMX_ARR = 9999
则触发TIM中断的周期为 10000*(72/(71+1)) *0.000001 =0.01s