STM32-定时器系统原理

本文详细介绍了STM32的通用定时器,包括其主要功能、模块框图、时钟来源、寄存器配置,特别是控制寄存器1和DMA/中断使能寄存器,并探讨了向上和向下计数模式。还提供了定时周期的计算方法和库函数配置定时器的步骤,是嵌入式和物联网开发者的重要参考资料。
摘要由CSDN通过智能技术生成

目录

 

STM32的定时器概述

通用定时器

通用定时器简介

主要功能

模块框图

时钟来源

通用定时器寄存器

控制寄存器 1(TIMx_CR1)

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

时基单元寄存器

计数器模式

向上计数模式

向下计数模式

定时周期的计算

库函数代码配置定时器

配置步骤

状态查看函数

代码范例


STM32的定时器概述

STM32F1有TIME1和TIME8 等高级定时器,也有TIME2~TIME5等通用定时器,还有TIME6和TIME7等基本定时器

关于高级定时器、通用定时器、基本定时器的区别:

基本定时器:具有最基本的计时功能,与通用和高级定时器的16位自动重装载计数器不同,他的计数器是一个累加计数器!基本定时器独有一个其他定时器没有的DAC的同步电路!

通用定时器:能满足大部分使用需求的定时器。

高级定时器:高级的骚操作比较多的定时器,但是一般不常用到,用到的时候可以再根据参考手册深入研究。

我们一般常用到的就是通用定时器。

通用定时器

通用定时器简介

主要功能

  • 16位向上、向下、向上/向下自动装载计数器
  • 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65536之间的任意数值
  • 4个独立通道:
    • 输入捕获
    • 输出比较
    • PWM生成(边缘或中间对齐模式) 
    • 单脉冲模式输出
  • 使用外部信号控制定时器和定时器互连的同步电路
  • 如下事件发生时产生中断/DMA:
    • 更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发) 
    • 触发事件(计数器启动、停止、初始化或者由内部/外部触发计数) 
    • 输入捕获
    • 输出比较
  • 支持针对定位的增量(正交)编码器和霍尔传感器电路
  • 触发输入作为外部时钟或者按周期的电流管理

加色处理的功能都是非常重要的常用功能!

模块框图

通用定时器框图如下所示,红色框是计数器部分,当仅使用计数器模式的时候,只涉及这部分。在定时器的基础上,还有下方的捕获/比较通道,输入通道可用于输入捕获(蓝色部分)和输出通道可用于输出PWM(绿色部分),与上面主要功能的颜色对应。本文只涉及到红色部分,也就是定时器的计数单元!输入捕获、PWM和DMA在后文写。

时钟来源

通用定时器的时钟来源有四个,具体选择哪个可以通过 TIMx_SMCR 寄存器的相关位来设置。

  • 内部时钟(CK_INT)
  • 外部时钟模式1:外部输入脚(TIx)
  • 外部时钟模式2:外部触发输入(ETR)
  • 内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值