STM32
直播中

caosurround

11年用户 833经验值
私信 关注
[问答]

STM32高级定时器有哪些作用呢

STM32定时器可分为哪几类呢?
STM32高级定时器有哪些作用呢?



回帖(1)

潘佼佼

2021-11-23 15:31:23
  定时器(一:基础篇)
  (一)STM32定时器分类
  
  
  
  ### (1)高级定时器TIM1,TIM8
  (a)。高级定时器作用
  高级控制定时器(TIM1和TIM8)由一个16位的自动装载计数器组成,它由一个可编程的预分频器,驱动。它适合多种用途,包含测量输入信号的脉冲宽度(输入捕获),或者产生输出波形(输出比较、PWM、嵌入死区时间的互补PWM等)。
  使用定时器预分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。高级控制定时器(TIM1和TIM8)和通用定时器(TIMx)是完全独立的,它们不共享任何资源。它们可以同步操作。
  (b)高级定时器特性
  《1》16位,向上,向下,上下 自动装载 计数器
  《2》四个独立通道互不影响
  ─ 输入捕获
  ─ 输出比较
  ─ PWM生成(边缘或中间对齐模式)
  ─ 单脉冲模式输出
  《3》16位可编程预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值
  《4》如下事件发生时产生中断/DMA: ─ 更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)
  ─ 触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)
  ─ 输入捕获
  ─ 输出比较
  ─ 刹车信号输入
  ©高级定时器时钟框图(其余定时器时钟框图基本一样)
  
  《1》时钟输入部分:
  
  时钟来源:1.外部输入:TIMX_ETR(有引脚像外部引出)
  2.内部时钟(ICK_INT):APB1时钟线
  3.还可以定时器通道引入(TIMX_CH1…)
  4.内部出发输入口(另一个定时器控制你)
  《2》比较部分
  
  时钟由psc分频后,控制CNT计数器计数,计数溢出后由自动重装载寄存器赋值,通过与比较寄存器比较可以认为的控制输出高低电平从而达到输出PWM波的目的(定时器的一个小应用)。
  (d)定时器基本寄存器
  (1)计数寄存器:计数
  a.向上计数模式:
  从0加载到自动加载值(ARR中的数值),然后重新计时并且产生一个溢出时间
  如果使用了重复计数器功能,在向上计数达到设置的重复计数次数(TIMx_RCR)时,产生更新事
  件(UEV);否则每次计数器溢出时才产生更新事件。
  b.向下计数模式
  从(ARR中的数)开始向下计数到0,其余的与向上计数模式相同。
  c.中央对齐模式
  计数器从0计数到ARR-1,产生一个溢出,然后向下计数到1在产生一个溢出事件,然后循环往复。(在此模式下,不能写入TIMx_CR1中的DIR方向位。它由硬件更新并指示当前的计数方向。)
  可以在每次计数上溢和每次计数下溢时产生更新事件;也可以通过(软件或者使用从模式控制器)设置TIMx_EGR寄存器中的UG位产生更新事件。然后,计数器重新从0开始计数,预分频器也重新从0开始计数。
  (2)预分频寄存器(PSC):分频,可在运行时更改,将计数器的时钟频率按1到65536之间的任意值分频。它是基于一个(在TIMx_PSC寄存器中的)16位寄存器控制的16位计数器。
  **例:**当预分频器的参数从1变到2时,计数器的时序图(PSC计数一次出一个cnt波)
  
  (3)自动重装载(ARR)
举报

更多回帖

发帖
×
20
完善资料,
赚取积分