新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > STM32学习笔记——利用通用定时器TIM2进行精确延时

STM32学习笔记——利用通用定时器TIM2进行精确延时

作者: 时间:2016-11-28 来源:网络 收藏
1.通用定时器概述及性能

1.1概述

本文引用地址:https://www.eepw.com.cn/article/201611/322899.htm

在作者所使用的stm32芯片上,共有TIM11个高级定时器以及TIM2、TIM3、TIM4共3个通用定时器。其中各通用定时器均由一个通过可编程预分频器驱动的16位自动装载计数器构成。适用于多种场合,包括测量输入信号的脉冲长度(输入采集)或者产生输出波形(输出比较和PWM)。使用定时器预分频器和RCC时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。定时器是完全独立的,而且没有互相共享任何资源。它们可以一起同步操作。

1.2性能

通用TIMx定时器特性包括:

  • 16位向上,向下,向上/向下自动装载计数器
  • 16位可编程预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值
  • 4个独立通道:

─输入捕获

─输出比较

─PWM生成(边缘或中间对齐模式)

─单脉冲模式输出

  • 使用外部信号控制定时器和定时器互连的同步电路
  • 如下事件发生时产生中断/DMA:

─更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)

─触发事件(计数器启动,停止,初始化或者由内部/外部触发计数)

─输入捕获

─输出比较

1.3部分寄存器

由于通用定时器较为复杂,此处仅介绍如何利用TIM2进行精确延时。下面介绍是TIM中与本篇内容有关的寄存器。

1.3.1控制寄存器1(TIMx_CR1)

1.3.2DMA/中断使能寄存器(TIMx_DIER)

本篇中只关心其第6位及第0位

由于需要TIM在更新时产生中断,因此这两位都必须置1。

1.3.3预分频器(TIMx_PSC)

该分频器对时钟进行分频,并作为计数器时钟。

时钟来源有4种:

1)内部时钟(CK_INT)

2)外部时钟模式1:外部输入脚(TIx)

3)外部时钟模式2:外部触发输入(ETR)

4)内部触发输入(ITRx):使用A定时器作为B定时器的预分频器(A为B提供时钟)。

具体选择可以通过TIMx_SMCR寄存器相关位来设置。


上一页 1 2 3 下一页

评论


技术专区

关闭