TIM(Timer)定时器根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型。高级定时器连接在APB2总线上,包含TIM1和TIM8。通用定时器和基本定时器都连接在APB1总线上。通用定时器包含TIM2,TIM3,TIM4和TIM5。基本定时器包含TIM6和TIM7。
通用定时器计数模式
通用定时器计数模式一共有三种,向上计数,向下计数和中央对齐模式(向上/向下)。
向上计数: 在向上计数模式中,计数器从0计数到自动加载值(TIMx_ARR计数器的内容),然后重新从0开始计数并且产生中断信号。
向下计数:在向下计数模式中,计数器从自动加载值(TIMx_ARR计数器的内容)开始向下计数到0,然后从自动重装的值开始并且产生一个中断信号。
中央对齐模式:在中央对齐模式,计数器从0开始计数到自动加载的值(TIMx_ARR寄存器)-1,产生一个中断信号,然后向下计数到1并且产生一个中断信号,然后再从0开始重新计数。
时基单元
时基单元包括计数器寄存器(TIMx_CNT),预分频器寄存器 (TIMx_PSC)和自动装载寄存器 (TIMx_ARR)。通过对自动装载寄存器 (TIMx_ARR)进行赋目标值,计数器寄存器(TIMx_CNT)从0开始计数,直到到达目标值。产生一个中断信号,并清0重新开始计数。内部时钟(CK_INT)提供计数器时钟源,预分频器寄存器 (TIMx_PSC)为0时,计数时钟频率为系统频率72MHZ,预分频器寄存器 (TIMx_PSC)为1时,计数时钟频率为系统频率72MHZ/2=36MHZ。

通用定时器时钟源选择
计数器时钟可由下列时钟源提供:
内部时钟模式:RCC内部时钟(CK_INT)
外部时钟模式1:外部输入脚(TIx),外部触发输入(ETR)和其它定时器(ITRx)
外部时钟模式2:外部触发输入(ETR)
编码器模式:外部输入脚(TIx)
定时中断基本过程

时基单元选择:
TIM_TimeBaseInit() 时基单元初始化
中断输出控制:
TIM_ITConfig() 使能中断输出信号
运行控制:
TIM_Cmd(); 使能计数器
NVIC:
NVIC_Init()
时钟源选择部分:
TIM_InternalClockConfig() 选择内部时钟模式时钟
TIM_ITRxExtern
最低0.47元/天 解锁文章
772

被折叠的 条评论
为什么被折叠?



