基本定时器(APB1):TIM6、TIM7            拥有定时中断、主模式触发DAC的功能。

通用定时器(APB1):TIM2、TIM3、TIM4、TIM5            拥有基本定时器全部功能,并额外具有内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等功能。

高级定时器(APB2):TIM1、TIM8                  拥有通用定时器全部功能,并额外具有重复计数器、死区生成、互补输出、刹车输入等功能。

STM32F103C8T6定时器资源:TIM1、TIM2、TIM3、TIM4

基本定时器

预分频器之前连接的是基准计数时钟的输入,可以理解为直接连接到了内部时钟CK_INT,内部时钟的来源是RCC的TIMxCLK,这里的频率值一般都是系统的主频72MHZ。

预分频器可以对计数时钟进行预分频,写0是不分频,输出频率等于输入频率;写1是二分频,输出=输入/2;写2是三分频,输出=输入/3。

计数器可以对预分频后的计数时钟进行计数,计数时钟每来一个上升沿,计数器的值就加1。

  • 计数器也是16位的,所以里面的值可以从0一直加到65535。
  • 计数器的值在计时过程中会不断地自增运行,当自增运行到目标值时,产生中断,就完成了定时的任务。存储目标值的寄存器是自动重装寄存器。

计数值等于自动重装值产生的中断,一般叫做更新中断,更新中断之后就会通往NVIC,再配置好NVIC的定时器通道,那定时器的更新中断就能够得到CPU的响应了。

主模式触发DAC:把定时器的更新事件通过主模式映射到这个触发输出TRGO的位置,然后TRGO直接接到DAC的触发转换引脚上。

通用定时器

时钟源不仅可以选择内部的72MHz时钟,还可以外部时钟。

外部时钟:TIMx_ETR引脚上的外部时钟。

可以在TIM2的ETR引脚,也就是在PA0上接一个外部方波时钟,再配置一下内部的极性选择、边沿检测和预分频器电路,再配置一下输入滤波电路。

接着信号兵分两路,上面一路ETRF进入触发控制器,紧接着可以选择作为时基单元的时钟了(外部时钟模式2)。TRGI当作外部时钟的输入来看(外部时钟模式1)。

TRGI当作外部时钟使用时:ETR引脚的信号,ITR信号。

主模式的输出TRGO可以通向其他定时器,就接到了其他定时器的ITR引脚上。

TI1F_ED连接输入捕获单元的CH1引脚,从CH1引脚获得时钟。

时钟还能通过TI1FP1和TI2FP2获得。TI1FP1连接到了CH1引脚的时钟。TI2FP2连接到了CH2引脚的时钟。

高级定时器

定时中断基本结构

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

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

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部