搜索

对于MCU来说定时器是必备的一个模块

gecimao 发表于 2019-05-11 11:08 | 查看: | 回复:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

本文链接:http://kingstonflowers.net/dingshiqi/339.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部