stm32通用定时器(TIMx)学习笔记

1:通用定时器包括一个由可编程的预分频器驱动的16 位自动重载计数器。通用定时器可用于多种用途,例如测量输入信号的脉冲宽度输入捕获),生成输出波形输出比较和PWM)。脉冲宽度和波形周期可通过定时器的预分频器及RCC 时钟控制器的预分频器在几微秒到几毫秒之间调整。这些通用定时器是完全独立的,不共享任何资源。

2:特性

  •  16 位的向上,向下,向上/向下的自动重载计数器
  •  16 位的可编程预分频器(也可以不工作)允许以在1 到65535 范围内的任何因子对计数器时钟进行分频
  • 多达4 个独立的通道用于:

        - 输入捕获
        - 输出比较
        - 产生PWM(边沿和中心对齐模式)
        - 单脉冲输出

  • 同步电路和外部信号一起控制定时器,并和多个定时器互连。
  • 以下事件产生中断/DMA:

       - 更新:计数器上溢/下溢,计数器初始化(由软件或内部/外部触发)
       - 触发事件(计数器开始,停止,初始化或由内部/外部触发计数)
       - 输入捕获
       - 输出比较

*********************************************************************************************************************************

STM32的定时器是个强大的模块,定时器使用的频率也是很高的,定时器可以做一些基本的定时,还可以做PWM输出或者输入捕获功能。

        先看个图:

        上图说明了,STM32中相关模块的总线结构,而这里用于测试的TIM3是接在了APB1上,APB1最大频率是36MHz,是算个低速的总线。

        当APB1 的预分频系数为1 时,这个倍频器不起作用,定时器的时钟频率等于APB1 的频率;当APB1的预分频系数为其它数值(即预分频系数为2、4、8 或16)时,这个倍频器起作用,定时器的时钟频率等于APB1 的频率两倍。

        也就是,当APB1不分频,TIM3的时钟速度为36MHz,当2分频是,APB1变成18MHz,但是TIM又会倍频,即TIM时钟等于18*2=36MHz。//为何这么设计...

posted on 2012-05-24 14:02  rdyzju  阅读(3446)  评论(1编辑  收藏  举报