定时器简述

相信使用过51单片机的人对定时器都很熟悉了吧。

顾名思义,定时器就是用来定时的,固定一个时间,到了以后可以向cpu发送一个中断请求;或者就干脆只是用来等待一段时间;还可以用来产生振荡等

在stm32中,定时器变得复杂多了,但是复杂的只是操作的寄存器变多了,原理并没有改变

基本步骤

  1. 很通常的一个时钟使能(APB1)
  2. 初始化定时器参数,设置自动重装值、预分频值、时钟分割、计数方式等(TIM_TimeBaseInitTypeDef)
  3. 设置TIM3_DIER允许更新(TIM_ITConfig)
  4. TIMx中断优先级设置
  5. 使能TIMx工作
  6. 编写中断服务函数(TIMx_IRQHandler)

定时的计算时间

Tout=((arr+1)*(psc+1))/Tclk

  • arr:自动重转载值
  • psc:预分频值
  • Tout:溢出时间(μs)
  • Tclk:输入时钟频率