【STM32】HAL库实现定时器联动:主定时器触发模式与定时器使能功能示例

【STM32】HAL库-使用一个定时器使能另一个定时器-主定时器触发模式demo

【下载地址】STM32HAL库-使用一个定时器使能另一个定时器-主定时器触发模式demo 本示例工程基于STM32F103C8T6单片机,展示了如何利用定时器2的触发输出信号控制定时器3的工作,实现主定时器触发模式。通过精心设计的初始化顺序和参数配置,确保定时器2和定时器3在触发模式下协同工作,定时器2的计数周期为1000ms,定时器3为500ms。该demo不仅帮助开发者理解STM32定时器的触发机制,还提供了实际应用中的配置细节,适用于需要精确时序控制的嵌入式系统开发。 项目地址: https://gitcode.com/Premium-Resources/f3950

简介

本示例工程基于STM32F103C8T6单片机,利用Keil MDK 5.32版本开发环境。本demo展示了如何通过定时器2的使能信号作为触发输出(TRGO)以控制定时器3的工作,实现主定时器触发模式的功能。

功能说明

  • 定时器2:工作在触发模式下,其TRGO(触发输出)信号被用作定时器3的TRGI(触发输入)。
  • 定时器3:同样工作在触发模式下,其TRGI信号来源于定时器2的TRGO。
  • 定时器参数
  • 定时器2的计数周期设置为1000ms。
  • 定时器3的计数周期设置为500ms。
  • 中断回调:定时器2和定时器3均开启了更新中断,在中断回调函数中发送相应数据。
  • 初始化顺序

    为了确保正确的触发模式工作流程,首先需要初始化主模式的定时器2。这是因为定时器初始化函数中会手动置位UG(更新生成)位,以确保影子寄存器正确装载ARR(自动重装载寄存器)和PSC(预分频器)值。主模式下TRGO信号默认来源为UG位(TIMx_CR2寄存器中的MSM位)。如果先初始化从模式的定时器3,由于其TRGI信号来源为定时器2的TRGO,而此时定时器2尚未初始化,TRGO信号也默认为UG位。在定时器2初始化过程中再次置位UG位将会错误地触发定时器3的从模式计数。因此,必须先初始化定时器2,保证在输入捕获通道1的上升沿出现时,定时器2和定时器3才开始计数。

    注意事项

  • 本工程适用于STM32F103C8T6单片机。
  • 开发环境为Keil MDK 5.32版本。
  • 请确保按照正确的初始化顺序进行编程,以避免触发不正确的定时器操作。
  • 通过本示例,您可以深入了解STM32的定时器触发模式及其在实际应用中的配置和操作细节。

    【下载地址】STM32HAL库-使用一个定时器使能另一个定时器-主定时器触发模式demo 本示例工程基于STM32F103C8T6单片机,展示了如何利用定时器2的触发输出信号控制定时器3的工作,实现主定时器触发模式。通过精心设计的初始化顺序和参数配置,确保定时器2和定时器3在触发模式下协同工作,定时器2的计数周期为1000ms,定时器3为500ms。该demo不仅帮助开发者理解STM32定时器的触发机制,还提供了实际应用中的配置细节,适用于需要精确时序控制的嵌入式系统开发。 项目地址: https://gitcode.com/Premium-Resources/f3950

    作者:松玫立

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【STM32】HAL库实现定时器联动:主定时器触发模式与定时器使能功能示例

    发表回复