TIM定时中断(通用定时器)

        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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值