基本定时器(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)
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » TIM定时中断
发表评论 取消回复