stm32中定时器中断的套路

首先要提到的是,在stm32中,定时器相关的库函数主要集中在固件库文件 stm32f10x_tim.h 和 stm32f10x_tim.c 文件中,所以在进行定时器方面的处理时,需要加载这两个文件进来。在进行定时器操作时,一般按如下步骤来进行:

       1、打开相关外设的时钟。以定时器TIM3为例,由stm32的时钟树可以看到,TIM3时钟挂接在APB1上面,所以打开TIM3时钟时使用RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE),如果其中还使用到了其他外设,如GPIO等,再打开相关的外设时钟就可以了。

       2、清除中断挂起位。由于各种不可知的因素作用,在程序运行前要操作的定时器的中断挂起位有可能会被置位,这样就会导致在程序一开始就会进入定时器中断的中断服务程序。为了消除这种影响,我们在程序的一开始就将中断挂起位清除。在固件库中使用:

void TIM_ClearITPendingBit(TIM_TypeDef*TIMx, u16 TIM_IT)

来清除中断挂起位,该函数的具体使用参考固件库手册。

       3、定时器基本配置初始化。在这一步骤中主要确定定时器的预分频和设置自动重装载寄存器周期的值,并确定计数模式,这主要使用固件库中的 TIM_TimeBaseInit()函数进行操作,该函数的原型为:

void TIM_TimeBaseInit(TIM_TypeDef* TIMx,TIM_TimeBaseInitTypeDef* TIM_TimeBase

  • 8
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值