AIR32定时器分类

AIE32定时器根据复杂度和应用场景分为了:高级定时器,通用定时器,基本定时器三种。

类型编号总线功能
高级定时器TIM1,TIM8APB2拥有通用定时器全部功能,并额外具有重复计数器,死区输出,互补输出,刹车输入等功能
通用定时器TIM2,TIM3,
TIM4,TIM5
APB1拥有基本定时器全部功能,并额外具有于内外时钟源选择,输入捕获、输出比较、PWM和单脉冲模式输出等功能
基本定时器TIM6,TIM7APB1有定时中断,主模式触发DAC的功能

细碎笔记

AIR32F103CBT6定时器资源:TIM1,TIM2,TIM3,TIM4,TIM5

定时器都是向下兼容的,高级定时器有通用定时器的全部功能,通用定时器有基本定时器的全部功能。

预分频器,计数器,自动重装载寄存器构成了最基本的计数计时电路,这一块电路也叫时基单元。预分频器之前连接基准计数时钟输入,由于基本定时器只能选择内部时钟所以可以说是时钟直接连到RCC_TIMxCLK,一般RCC_TIMxCLK的频率是系统的主频,如果是air32的话就是216Mhz。

预分频器可以对RCC_TIMxCLK进行分频如果写0就是输出频率=输入频率就是216Mhz如果写1就是二分频,那么输出频率=输入频率/2=108Mhz,如果写2就是三分频,输出就是输入频率除3,以此类推。预分频器的实际分频系数是预分频器的值加1

计数器是16位的可以从0加到65535。

自动重装寄存器是存储计数目标的。

计数值等于自动重装值产生的中断一般叫做“更新中断

在通用定时器中,计时器不止一种计数模式,还支持向下计数模式,中央对齐计数模式。

定时器的预分频器实际上有两个,一个寄存器一个是缓冲寄存器,实际起作用的是缓冲寄存器,如果更改了预分频器寄存器的值,预分频器并不会立刻更改而是会等待一个计数周期结束后产生了更新事件,再更改分频系数。

计数器计数频率:CK_CNT=CK_PSC/(PSC+1)

CK_CNT:计数器计数频率

CK_PSC:系统频率

PSC:分频系数

计数器溢出频率:CK_CNT_OV=CK_CNT/(APP+1)=CK_PSC/(PSC+1)/(ARR+1)

CK_CNT_OV:计数器溢出频率

ARR:自动重装目标值(AutoReloadRegister:自动重装寄存器)

如果想算溢出时间可以直接去倒数就可以。

影子/缓冲寄存器通过ARPE值的0/1来使能或失能。

CSS:(Clock Sceurity System)时钟安全系统,可以监控外部时钟状态,一旦外部时钟失效可以切换成内部时钟。保障系统时钟运行,防止程序卡死。