【STM32学习笔记】TIM定时器
1.定时器简介
定时器功能:定时、输入比较、输入捕获、互补输出
定时器分类:基本定时器、通用定时器、高级定时器
定时器资源:
F103系列:两个高级定时器TIM1,TIM8、4个通用定时器TIM2~5、2个基本定时器TIM6,TIM7
2.基本定时器功能框图
1.基本定时器功能简介
1-计数器16bit,只能向上计数,只有TIM6,TIM7
2-没有外部的GPIO,是内部资源,只能用来定时
3.-时钟来自PCLK1,为72M,可实现1~65536分频
2.基本定时器功能框图讲解
1-时钟源
时钟源来自RCC的TIMx_CLK(属于内部的CK_INT)
2-控制器
1-控制器用于控制定时器的:复位、使能、计数、触发DAC
2-涉及到的寄存器为:CR1/2(控制寄存器1/2)、DIER(中断使能寄存器)、EGR(事件产生寄存器)、SR(状态寄存器)
3-时基
包括预分频器(PSC)、计数器(CNT)、自动重装载寄存器(ARR)。
原始时钟: CK_INT
PSC时钟: CK_PSC
计数时钟: CK_CNT
预分频系数:PSC+1
4-预分频器
1-16位的预分频器PSC对内部时钟CK_PSC进行分频之后,得到的计数器时钟CK_CNT=CK_PSC/(PSC+1)
2-计数器CNT在计数器时钟的驱动下开始计数,计数一次的时间为1/CK_CNT
计数器时间为(ARR+1)/CK_CNT
5-计数器、自动重装载寄存器
定时器使能(CEN置1)后,计数器CNT在CK_CNT驱动下计数,当TCNT值与ARR的设定值相等时就自动生成事件并CNT自动清零,然后自动重新开始计数。
6-影子寄存器
1-PSC和ARR都有影子寄存器,功能框图上有个影子
2-影子寄存器的存在起到一个缓冲的作用, 用户值->寄存器->影子寄存器->起作用,如果不使用影子寄存器则用户只在写道寄存器之后则立即起作用
ARR影子,TIMx_CR1 APRE位控制( 缓冲位)
7-定时时间的计算
1、PSC=72-1,定时器频率=72M/(PSC+1)=1MHZ
2、ARR = 1000-1,从0计数到999,则计了1000次
3、中断周期T=1000*1/1000000 = 1ms
8-时基初始化结构体
TIM_TimeBaseInitTypeDef
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!