【STM32技巧】STM32 CubeMX中定时器四种从机模式说明

2023-12-04 16:58

本文主要是介绍【STM32技巧】STM32 CubeMX中定时器四种从机模式说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

四种从机模式说明

在这里插入图片描述

外部时钟模式1从模式 [External Clock Mod1]

这个模式比较特别,名字也有点奇葩。其实,这个从模式跟时钟源的外部时钟模式1有渊源。在介绍计数器时钟源时,讲到过外部时钟模式1,即计数器的时钟来自TI1或TI2的输入脉冲,连接到从模式控制器并为计数器提供时钟。

也就是说,当计数器的时钟来自触发信号时,计数器就处于外部时钟模式1从模式。当然,这个触发信号就不仅仅限于来自定时器通道TI1/TI2的输入信号,还可以是上面提到过三类触发输入信号的任一种,比方来自其它定时器的触发输出信号,或者来自ETR脚的触发输入信号。

或者,反过来讲,如果定时器的时钟来自外来触发信号时,它一定就工作在外部时钟模式1从模式,显然,它的工作离不开这个触发信号,不然连计数时钟都没有。这个从模式“从”得很彻底。

在这里插入图片描述

复位模式[Reset Mode]

个人理解大白话就是,外部引脚有一个输入脉冲进来或者内部有一个脉冲进来定时器计数器归0重新计数,如果设置中断了就产生中断,就是这么个意思,下面是详细讲解

《STM32中文参考手册_V10 》 229页详细讲解在这里插入图片描述

  1. 当有效触发输入信号出现时,计数器将会被复位,同时还会产生更新事件和触发事件。
  2. 如果计数器向上计数或中央对齐模式的话,复位后计数器从0开始计数,如果向下计数模式,复位后计数器从ARR值开始计数。
  3. 以计数器向上计数为例,将它配置在复位从模式。比方说当计数器计数到某个数据的时候,来了个触发信号,计数器不再继续往上计数,而是重新归0后开始计数。当然,计数器的实际复位操作与触发沿之间往往会有个小的延时,这是由于触发信号作为有效触发脉冲的话,还需要经过定时器内的同步电路确认。

在这里插入图片描述

这里顺便插几句,我们在介绍定时器的更新事件源时会提到复位模式下的触发脉冲,就是指现在讨论的情形。即处于复位模式的定时器,在触发信号的作用下可以对计数器复位并产生更新事件,实现预装载寄存器内容到影子寄存器的拷贝更新。

关于处于复位模式下的定时器,有两点提醒:

1、只要有复位触发脉冲出现,计数器就会被复位重置。复位次数取决于触发脉冲次数。

2、工作在复位模式下的定时器,其使能需靠软件代码实现,即使能定时器的CEN@TIMx_CR1位。

门控模式[Gate Mode]

定时器根据触发输入信号的电平来启动或停止计数器的计数。在计数器启动或停止时都会产生触发事件并置位相关标志位,TIF@TIMx_SR。

《STM32中文参考手册_V10 》 230页详细讲解这里是引用

下图表示来自TI1的输入信号,低电平时计数器启动计数,高电平时停止计数。
在这里插入图片描述
在这里插入图片描述
同样,工作在门控模式下的定时器,其使能需靠软件代码实现,即使能定时器的CEN@TIMx_CR1位。

触发模式 [Trigged Mode]

  1. 当有效触发输入信号出现时,会将本来处于未使能状态的计数器使能激活,让计数器开始计数,同时还会产生触发事件。

  2. 触发从模式下,触发信号具有相当于软件使能计数器的作用,即置位CEN@TIMx_CR1,这也是它最大最明显的特征。

1.主定时器出现信号后:从定时器计数器开始工作,并且不会停止
2.触发模式主定时器只是提供了一个启动从定时器开始时间的控制,并不会有其他效果

《STM32中文参考手册_V10 》 230页详细讲解
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

这篇关于【STM32技巧】STM32 CubeMX中定时器四种从机模式说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/454197

相关文章

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

MySQL修改密码的四种实现方式

《MySQL修改密码的四种实现方式》文章主要介绍了如何使用命令行工具修改MySQL密码,包括使用`setpassword`命令和`mysqladmin`命令,此外,还详细描述了忘记密码时的处理方法,包... 目录mysql修改密码四种方式一、set password命令二、使用mysqladmin三、修改u

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

Spring Boot Actuator使用说明

《SpringBootActuator使用说明》SpringBootActuator是一个用于监控和管理SpringBoot应用程序的强大工具,通过引入依赖并配置,可以启用默认的监控接口,... 目录项目里引入下面这个依赖使用场景总结说明:本文介绍Spring Boot Actuator的使用,关于Spri

Pandas中多重索引技巧的实现

《Pandas中多重索引技巧的实现》Pandas中的多重索引功能强大,适用于处理多维数据,本文就来介绍一下多重索引技巧,具有一定的参考价值,感兴趣的可以了解一下... 目录1.多重索引概述2.多重索引的基本操作2.1 选择和切片多重索引2.2 交换层级与重设索引3.多重索引的高级操作3.1 多重索引的分组聚

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.