0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

定时器基本原理及常见问题详解

jf_78858299 来源:strongerHuang 作者:strongerHuang 2023-04-21 14:29 次阅读

对于MCU来说,定时器是必备的一个模块,原因在于定时器是使用频率最高。

1写在前面

我之前写过许多关于定时器的文章,不过后台还是有很多朋友问与定时期相关的问题,所以,这里也给大家推荐下面的这个关于定时器的资料

相信有部分朋友都收到STM32公众号的消息了,就是提供了一个我认为比较好的资料: STM32 定时器基本原理及常见问题之培训资料

这个资料我是第一时间就下载来看了,觉得 整理的很好 。特别是对于很多初学以及学习了一段时间STM32的朋友来说,对全方面掌握定时器有很大帮助作用。

考虑到很多朋友都只是知道有这么一个资料,没有下载来学习、掌握。所以,今天在这里挑一些要点, 带领大家学习

下载地址在ST中文网,(最近)进入主页,都能在首页看到这个消息。

这个资料总共有186页。内容比较多,但讲述的比较全面。

提示 :公众号不支持外部链接,请复制链接到浏览器打开)

2

资料的主要内容

• STM32定时器概述

• 定时器时基单元

• 定时器输入捕捉功能

• 定时器比较输出功能

• 定时器触发同步与级联

• 定时器DMA批量传送

• 定时器产生的触发输出与其它外设的关联

• STM32F334/STM32F7/STM32L4等新增的定时器功能

• 案例分享【穿插在上述内容中】

3

STM32定时器分类

整体讲, STM32家族的定时器众多,按照核内、核外标准大致分为两部分:

核内定时器 + 外设定时器

• 核内定时器 : Systick

• 外设定时器: 特定应用定时器+常规定时器

• 特定应用定时器: LPTIM;RTC;WTD;HRTIM

• 常规定时器: 基本定时器、通用定时器、高级定时器 【本篇介绍重点】

按计数器位宽来分

• 16位定时器

• 32位定时器 【TIM2 TIM5】

• 24位定时器 【Systick】

常规定时器

1.基本定时器 :几乎没有任何对外输入/输出,常用作时基,实现基本的计数、定时功能。

2.通用定时器 :除了基本定时器的时基功能外,还可对外做输入捕捉、输出比较以及连接其它传感器接口编码器和霍尔传感器】 。

3.高级定时器 : 此类定时器的功能最为强大,除了具备通用定时器的功能外,还包含一些与电机控制数字电源应用相关的功能,比方带死区控制的互补信号输出、紧急刹车关断输入控制。

4

STM32定时器模块

图片

STM32【通用或高级】 定时器大致分为 六个功能单元

• 从模式控制单元 :负责时钟源、触发信号源的选择;控制计数器的启停、复位、门控等;

• 时基单元 :定时器核心单元。负责时钟源的分频、计数、溢出重装等。

• 输入单元 :为部分的时钟信号、 捕捉信号、 触发信号提供信号源。

• 比较输出单元 :通过对比较寄存器与计数器的数值匹配比较,实现不同输出波形。

• 触发输出单元 :输出触发信号给到其它定时器或外设。

• 捕捉比较单元 : 是输入捕捉或比较输出的公共执行单元。

从信号链角度大体了解STM32定时器:

图片

STM32定时器中存在着几种基本的信号: ** 输入信号、 时钟信号、 触发输入信号、 触发输出信号** ,它们之间相互关联形成相应的信号链,从而衍生出各种定时器的功能。

5

STM32定时器功能汇总

1、 六类功能单元

【时基、从模式控制、输入、输出、捕捉比较、触发输出】

2、 四类信号

【时钟信号、外部输入信号、触发输入信号、触发输出信号】

3、 四类事件

【更新事件、捕捉、 比较事件、触发事件】

4、一大特性

【影子寄存器的预装载特性】

这上面的一些内容掌握了,对定时器基本就没多大问题了,资料中也有详细说明。

6

案例:定时器一使能就进中断的问题

问题描述 : TIMER初始化阶段, 经常有人反馈一使能更新中断就就进中断服务程序?给开发带来些困扰,原因可能是什么?如何解决?

因为在定时器的初始化代码里有软件更新操作触发了更新事件,并置位了更新中断标志,当使能更新中断时就立刻进入更新中断服务程序。

在STM32标准库里的TIM_TimeBaseInit( )函数里都有这句代码:

TIMx->EGR = TIM_PSCReloadMode_Immediate;

• 在Cube库里的HAL_TIM_Base_Init( )函数里的 函数有这句代码:

TIMx->EGR = TIM_EGR_UG;

显然,这两行代码使用到了前面提到的软件更新操作,触发了更新事件,置位更新中断标志。所以我们在使能定时器更新中断 之前 ,可以先做更新中断标志的清除操作。

说明:资料中提供了很多案例说明,以及分析,我觉得比较好,方便大家理解。请多理解一下这些案例。

7

时钟源问题思考

1、几种时钟源?来自何处?

2、来自TI1fp1与TIF_ED信号差别是什么?

3、来自TI1/TI2的时钟是否可以直接像内部时钟一样被计数器用来计数?

4、根据时钟源的介绍,你了解到了几种触发输入信号?

5、TI3FP4可以作为通道2的输入捕捉信号吗?

6、TI4FP4可以作为触发信号吗?

好了,篇幅有限,就写到这里。这个资料的内容我基本都看了一遍,可以结合《参考手册》一起学习,有部分内容来自《参考手册》。

希望还不知道,却又想学习并深入理解定时器的朋友尽快下载来看看。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632695
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16977

    浏览量

    350215
  • 定时器
    +关注

    关注

    23

    文章

    3237

    浏览量

    114434
收藏 人收藏

    评论

    相关推荐

    STM32 SYSTICK定时器常见问题

    我们知道,STM32库函数里通常使用来自内核的系统定时器SYSTICK作为时基,实现计数延时。一般来讲,ST公司提供的库函数里将SYSTICK定时器配置为1ms的定时器中断,每产生1ms中断则相关中断事件计数变量加一。具体应用中
    发表于 09-13 16:20 2956次阅读

    通用定时器基本原理

    一.通用定时器基本原理1.三种STM32定时器区别2.通用定时器功能特点描述(1)STM32 的通用 TIMx (TIM2、TIM3、TIM4 和 TIM5)
    发表于 08-19 06:12

    MCU定时器的相关资料分享

    的资料。相信有部分朋友都收到STM32公众号的消息了,就是提供了一个我认为比较好的资料:STM32 定时器基本原理常见问题之培训资料。这个资料我是第一时间就下载来看了,觉得整理的很好。特别是...
    发表于 11-04 08:58

    STM32通用定时器基本原理是什么?

    STM32通用定时器基本原理是什么?
    发表于 11-23 06:21

    stm32通用定时器基本原理是什么?

    stm32通用定时器基本原理是什么?
    发表于 11-24 06:53

    STM32F103通用定时器基本原理是什么

    STM32F103通用定时器基本原理是什么?STM32F103通用定时器有何特点呢?
    发表于 11-24 06:20

    STM32F103定时器原理与例程

    2.1 常见库函数2.2 定时器中断具体实现步骤参考资料:《开发指南》P206,定时器中断实验《参考手册》P253,通用定时器1. 定时器
    发表于 01-06 07:01

    STM32通用定时器基本原理

    STM32通用定时器基本原理一. 三种定时器区别二. 通用定时器特点三. 通用定时器工作过程一. 区别STM32F10x系列总共最大有8个
    发表于 01-20 07:07

    主要介绍SysTick系统定时器基本原理

    SysTick 浅谈摘要:本章主要介绍SysTick系统定时器基本原理,然后实现了毫秒定时器1. SysTick Timer (STK)系统定时器,是CM3 内核的外设,内嵌在 NV
    发表于 02-18 07:14

    STM32定时器基本原理常见问题之培训资料v3.10

    基本定时器:几乎没有任何对外输入/输出,常用作时基,实现基本的计数、定时功能。• 通用定时器:除了基本定时器的时基功能外,还可对外做输入捕捉、输出比较以及连接其它传感
    发表于 09-08 07:12

    定时器基本原理常见问题

    定时器基本原理常见问题
    的头像 发表于 03-04 11:31 5359次阅读

    清除所有定时器_对于MCU来说,定时器太重要了!

    的资料。相信有部分朋友都收到STM32公众号的消息了,就是提供了一个我认为比较好的资料:STM32 定时器基本原理常见问题之培训资料。这个资料我是第一时间就下载来看了,觉得整理的很好。特别是...
    发表于 10-29 10:36 6次下载
    清除所有<b class='flag-5'>定时器</b>_对于MCU来说,<b class='flag-5'>定时器</b>太重要了!

    STM32定时器基本原理

    STM32中定时器可分为高级定时器、通用定时器、基本定时器三类,他们都是由一个可编程的16位预分频(TIMX_PSC)驱动的16位自动装载
    发表于 02-08 17:11 72次下载
    STM32<b class='flag-5'>定时器</b><b class='flag-5'>基本原理</b>

    STM32定时器基本原理常见问题

    电子发烧友网站提供《STM32定时器基本原理常见问题.pdf》资料免费下载
    发表于 08-02 09:24 1次下载
    STM32<b class='flag-5'>定时器</b><b class='flag-5'>基本原理</b>及<b class='flag-5'>常见问题</b>

    STM32定时器基本原理常见问题之培训资料

    电子发烧友网站提供《STM32定时器基本原理常见问题之培训资料.pdf》资料免费下载
    发表于 09-20 09:44 0次下载
    STM32<b class='flag-5'>定时器</b><b class='flag-5'>基本原理</b>及<b class='flag-5'>常见问题</b>之培训资料