目录
TIM概述
STM32F42xxx 系列控制器有 2 个高级控制定时器、10 个通用定时器和 2 个基本定时器,还有 2 个看门狗定时器。其中 TIME1 和 TIME8 等高级定时器,TIME2~TIME5,TIM9~TIM14通用定时 器, TIME6 和 TIME7 基本定时器,总共达 14 个定时器之多。
基本定时器时钟只能来自内部时钟,高级控制定时器和通用 定时器还可以选择外部时钟源或者直接来自其他定时器等待模式
在功能框图中带阴影部分的比如图中主体部分的自动重载寄存器 (TIMx_ARR) 或 PSC 预分频器 (TIMx_PSC), 这里要特别突出的是阴影这个标志的作用,它表示这个寄存器还自带有影子寄存器,在硬件结构 上实际是有两个寄存器,源寄存器是我们可以进行读写操作,而影子寄存器我们是完全无法直接操作 的。事实上真正起作用的是影子寄存器,根 据 TIMx_CR1 寄存器中 APRE 位的设置:APRE=0 时,预装载寄存器的内容可以随时传送到影 子寄存器,此时 2 者是连通的;而 APRE=1 时,在每一次更新事件(UEV)时,才把预装载寄 存器(ARR)的内容传送到影子寄存器。
如下事件发生时产生中断/DMA(TIM9~TIM14 不支持 DMA):
A.更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)
B.触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)
C.输入捕获
D.输出比较
E.支持针对定位的增量(正交)编码器和霍尔传感器电路(TIM9~TIM14 不支持)
F.触发输入作为外部时钟或者按周期的电流管理(TIM9~TIM14 不支持)
STM32F4各定时器特性参数如下所示:
1.通用定时器中断配置步骤(基本定时器也一样):
1)开启相应定时器的时钟
2)对定时器进行初始化配置
TIM_TimeBaseInit( );//【主要设置:分频系数,重装载值、计数方式(上下、中心)】
3)开启相应定时器中断的类型 【选更新中断】
TIM_ITConfig();
4)相应中断初始化
NVIC_Init();
5)开启定时器
TIM_Cmd();
6)编写中断服务函数
TIMx_IRQHandler();【TIM6为TIM6_DAC_IRQHandler】