STM32定时器级联功能

这篇具有很好参考价值的文章主要介绍了STM32定时器级联功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考:官方文档《stm32f4xx参考手册.pdf》

级联功能,可以把两个定时器的功能关联起来,具体有以下几种:

STM32定时器级联功能,stm32,嵌入式硬件,单片机

本文只讲其中一个功能,定时器1给定时器2当分频器。这种功能可以把两个32位定时器,合并为为一个64位定时器,可以把2个16位定时器合并为一个32位定时器、甚至可以把4个16位定时器合并为一个64位定时器。这可以增加计时长度。虽然用定时中断+软件加法计数,也可实现任意时长计时,但是太耗CPU了,既然STM32硬件具备这种硬件级联功能,我们就要用起来。

定时器的输入脉冲默认来自于系统时钟总线APB1/APB2,

 STM32定时器级联功能,stm32,嵌入式硬件,单片机

根据上图,我们发现,TIM1可以输出一个脉冲(时钟)信号TRGO,这个信号被连接到STM32       内部的一根信号线上,这根信号线叫ITR0(STM32内部共有4根这样的信号线,你也可以理解为4个没有被引出的引脚插针)。

TRGO是一个事件输出信号,只有TIM被设置为主模式时,才能使用。参见下文CR2寄存器的MMS位域。

STM32定时器级联功能,stm32,嵌入式硬件,单片机

级联功能,并不是任意两个TIM都能随意连接的,而是被固定死的,如以下3个表所示。

以表72的第一个单元格为例,意思是:TIM5的输出信号TRGO可以连接到TIM1的ITR0上,作为TIM1的时钟输入。这样如果我们让TIM5每1ms发出一次TRGO脉冲,那么TIM1的计数寄存器每过1ms就+1。

STM32定时器级联功能,stm32,嵌入式硬件,单片机

STM32定时器级联功能,stm32,嵌入式硬件,单片机

 STM32定时器级联功能,stm32,嵌入式硬件,单片机

 下面看一下CR2寄存器的MMS位段:

STM32定时器级联功能,stm32,嵌入式硬件,单片机STM32定时器级联功能,stm32,嵌入式硬件,单片机

STM32定时器级联功能,stm32,嵌入式硬件,单片机STM32定时器级联功能,stm32,嵌入式硬件,单片机

 STM32定时器级联功能,stm32,嵌入式硬件,单片机

根据上图可见,每个定时器的时钟输入可以来自内部信号(ITR0/1/2/3)、也可以来自时钟总线RCC的TIMxCLK、也可以来自外部引脚输入ETR等等,每个定时器有一个内部输出信号TRGO。

在芯片内部,某些定时器的输出信号TRGO可以连接到另一个定时器的内部输入信号上。这样就实现了定时器级联。

定时器基本初始化代码就不贴了,只贴级联相关代码,TIM3做主机,TIM2做从机为例。

首先查询前面表格得知:TIM3做主机,TIM2做从机时,TIM2必须要从自己的ITR2信号线上获得时钟输入。

STM32定时器级联功能,stm32,嵌入式硬件,单片机

 


从定时器部分:

//设置SMCR寄存器的SMS位域,TIM_SlaveMode_External1=上图SMS中的111
TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_External1);


//TIM3设置成了主模式,根据手册表76,TIM2作为从机,输入信号只能来自ITR2
TIM_SelectInputTrigger(TIM2, TIM_TS_ITR2);

//主定时器部分
TIM_SelectMasterSlaveMode(TIM3, TIM_MasterSlaveMode_Enable);//TIM3设置为主模式
TIM_SelectOutputTrigger(TIM3, TIM_TRGOSource_Update);//设置TGRO信号的触发时机为:当定时器溢出(update)时

以上代码的效果是,当TIM3溢出时(无需设置溢出中断),就会发出TRGO脉冲到TIM2的ITR2信号线上,TIM2每收到一个脉冲,并分频后,CNT计数寄存器就+1。

注意:TIM2的分频寄存器PSC,是对ITR2的分频,不再是系统APB的TIM时钟。文章来源地址https://www.toymoban.com/news/detail-637630.html

到了这里,关于STM32定时器级联功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32笔记----6、TIM定时器其他功能

    CCR(Capture Compare Register):输出捕获寄存器 使用PWM波形,可以在数字系统等效输出模拟量。 上图输出比较通道(通用)相当于下图的红框那部分电路: 输出模式控制器见下表: 蓝色线:CNT值 黄色线:ARR值 红色线:CCR值 PWM频率等于计数器CNT更新频率 (1)开启外部时钟 (2

    2024年02月21日
    浏览(71)
  • STM32定时器DMA连续传送功能示例

    在STM32定时器应用中,定时器事件配合DMA连续传输可对定时器的多个寄存器进行读写访问。 定时器事件可以请求DMA,分为以下几种;并不是所有定时器都支持以下事件, 高级定时器是支持的。其他定时器按功能部分支持,例如基础定时器因为没有输出输入通道,所以只有更新

    2024年02月11日
    浏览(43)
  • STM32笔记——定时器输出比较功能(产生PWM波)

    目录 一、概述 二、PWM简单介绍  三、通用定时器输出比较 3.1 输出比较简介 3.2 输出比较通道 3.3 产生PWM的过程 四、实验硬件介绍及PWM模块程序 4.1 舵机简介 4.2 直流电机及驱动芯片TB6612  4.3 PWM模块驱动程序         主要介绍通用定时器输出比较功能,在GPIO口输出PWM来控

    2024年02月13日
    浏览(49)
  • 【STM32学习】定时器寄存器配置、功能工作过程详解

    STM32-定时器详解 STM32个人笔记-定时器 本文针对STM32F103系列单片机的定时器进行介绍。 主要是其常用功能的工作流程、以及寄存器的对应配置。 该图清晰的表明了各种定时器的参数与功能。其中,基础定时器基本上就只有最简单的计数到了然后触发中断的功能;通用和高级定

    2024年02月15日
    浏览(49)
  • STM32G4高精度定时器的同步功能

    STM32G474 所含的高精度定时器(HRTIMER)其实包含了多个定时器,多个定时器之间可以单独工作,也可以进行同步,且高精度定时器还能与片上的其他定时器以及其他芯片进行同步,本文将对高精度定时器的同步功能进行介绍。 HRTIME 的整体架构如下图所示,内含由 7 个定时器,主

    2024年04月23日
    浏览(110)
  • STM32F103定时器引脚重定义功能问题处理

    1、概要 在一个项目中,使用STM32F103RCT6单片机,定时器引脚使用的PC6,PC6默认复用定时器为TIM8_CH1,但是由于其他原因,不能使用TIM8_CH1,因此需要使用其重定义功能TIM3_CH1,本文分享了本人在该项目中定时器TIM3引脚复用功能重定义的一些问题及解决过程,希望对大家能有帮助

    2024年02月10日
    浏览(46)
  • STM32笔记——定时器输入捕获功能(测量PWM的频率和占空比)

    目录 一、概述 二、输入捕获功能 2.1 输入捕获简介 2.2 输入捕获通道  三、输入捕获功能测量PWM波的频率和占空比 3.1 测量频率的方法 3.2 测量过程         主要介绍通用定时器的输入捕获功能,输入信号由GPIO口进入输入捕获通道,之后输入部分对相应的TIx输入信号采样,并

    2024年02月06日
    浏览(85)
  • 【STM32】STM32学习笔记-定时器定时中断 定时器外部时钟(14)

    1.1 TIM_InternalClockConfig 1.2 TIM_TimeBaseInit 1.3 TIM_TimeBaseInitTypeDef 1.4 TIM_ClearFlag 1.5 TIM_ITConfig 1.6 TIM_Cmd 1.7 中断服务函数 参考程序 1.8 TIM_ETRClockMode2Config timer.h timer.c main.c timer.h timer.c main.c 09-定时器定时中断.rar 10-定时器外部时钟.rar 参考: 【STM32】江科大STM32学习笔记汇总

    2024年02月03日
    浏览(56)
  • 【STM32笔记】STM32的定时器开发基础(二)(基于STM32CubeMX实现定时器中断)

      传统STM32外部中断 的设计步骤:  (1)将GPIO初始化为输入端口。  (2)配置相关I/O引脚与中断线的映射关系。  (3)设置该I/O引脚对印的中断触发条件。  (4)配置NVIC,并使能中断。  (5)编写中断服务函数。   基于STM32CubeMX的外部中断 设计步骤  (1)在STM3

    2024年02月20日
    浏览(62)
  • 【STM32学习】——定时器输出比较功能&PWM脉宽调制&通用/高级定时器输出比较通道&舵机/直流电机简介&PWM驱动呼吸灯/舵机/直流电机代码实操

    声明:学习笔记根据b站江科大自化协stm32入门教程编辑,仅供学习交流使用!

    2024年02月03日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包