6 计时器(一)

news2025/1/11 15:04:58

计时器

在这里插入图片描述

6.1 TIM

TIM简介

TIM(Timer)定时器
定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断
16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时
不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能
根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型

补充:

在 STM32 系列 MCU 的定时器中,时基单元是指由 16 位计数器、预分频器和自动重装寄存器三部分组成的基本计时单元。具体说明如下:

1. 16 位计数器:它是定时器的核心部分,用于对时间进行计数。计数器的计数范围是 0 到 65535,当计数器的值达到最大值时,就会重新从 0 开始计数。

2. 预分频器:它是用来分频计数器时钟信号的一个寄存器,可以将输入时钟信号分频后输出。预分频器的输出作为计数器的输入时钟信号,用于控制计数器的计数频率。预分频器的分频系数需要根据实际应用需求进行设置,可以使计数器的计数频率变得更低,从而实现更长的定时时间。

3. 自动重装寄存器:它是一个可编程的寄存器,用于对计数器的最大计数范围进行设置。当计数器的值达到自动重装寄存器中设置的值时,计数器的值就会被自动重置为 0,重新开始计数。因此,自动重装寄存器的值也可以决定定时器的时间周期,通过适当设置自动重装寄存器的值,可以实现所需的定时时间。

综上所述,时基单元是 STM32 系列 MCU 定时器中的核心组成部分,它通过计数器、预分频器和自动重装寄存器的协同工作,实现定时器的计时和控制。通过合理选择和配置这三个部分的参数,可以实现不同的定时要求。

定时器类型

类型编号总线功能
高级定时器TIM1、TIM8APB2拥有通用定时器全部功能,并额外具有重复计数器、死区生成、互补输出、刹车输入等功能
通用定时器TIM2、TIM3、TIM4、TIM5APB1拥有基本定时器全部功能,并额外具有内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等功能
基本定时器TIM6、TIM7APB1拥有定时中断、主模式触发DAC的功能

•STM32F103C8T6定时器资源:TIM1、TIM2、TIM3、TIM4

•高级定时器可用以为三相无刷电机设计

基本定时器

在这里插入图片描述

基本定时主模式触发 DAC 的功能是指使用定时器的基本定时功能来触发 DAC 的主模式输出,从而定期输出模拟信号。能让内部硬件在不受程序的控制下实现自动运行

通用定时器
在这里插入图片描述

1)三输入异或门:

三输入异或门(Three-input Exclusive OR Gate)是一种具有三个输入端的逻辑门,它的输出与三个输入端中恰好一位是高电平(1)的输入端有关,如果这样的输入只有一个,则输出为高电平(1),否则输出为低电平(0)。它的真值表如下:

ABCA ⊕ B ⊕ C
0000
0011
0101
0110
1001
1010
1100
1111

2)输入滤波器和边沿检测器

输入滤波器用于去除输入信号中的毛刺和噪声,保留有效信号以供后续处理。常见的输入滤波器包括低通滤波器、带通滤波器和高通滤波器等。

边沿检测器则用于检测输入信号的上升沿和下降沿,以便触发相应的处理程序。可以将边沿检测器看作是一个逻辑门,当输入信号的电平变化到达一定阈值时,输出逻辑 1,否则输出逻辑 0。

在数字电路中,输入滤波器和边沿检测器通常用于处理数字输入设备如按钮、开关、传感器等的信号。输入滤波器可以用于去除由信号线干扰、电路自身噪声等原因造成的信号抖动,以减少系统的误触发。而边沿检测器则可以用于检测按钮的短按、长按等事件,或者检测传感器输入信号的变化来触发相应的操作。 

在嵌入式系统中,输入滤波器和边沿检测器通常可以通过定时器或外部中断实现。例如,可以通过设置定时器的计数频率和计数周期,来周期性地对输入信号进行采样和滤波。而边沿检测器则可以通过配置外部中断来实现对输入信号的检测和触发相应的中断处理程序。

高级定时器
在这里插入图片描述

定时中断基本结构

在这里插入图片描述

预分频器时序
在这里插入图片描述

•计数器计数频率:CK_CNT = CK_PSC / (PSC + 1)

计数器时序
在这里插入图片描述

•计数器溢出频率:CK_CNT_OV = CK_CNT / (ARR + 1) = CK_PSC / (PSC + 1) / (ARR + 1)

T c y c l e = ( P S C + 1 ) × ( A R R + 1 ) 72 M H z T_{cycle} = \frac{(PSC + 1) \times (ARR + 1)}{72MHz} Tcycle=72MHz(PSC+1)×(ARR+1)

1)计数器无预装时序

在这里插入图片描述

2)计数器有预装时序

在这里插入图片描述

RCC时钟树

RCC(Reset and Clock Control)是STM32中的时钟控制模块,是实现芯片内部时钟分配和控制的核心组成部分。在STM32中,各个模块的时钟都是由RCC模块产生和分配的,SystemInit就是用来配置时钟树的。
在这里插入图片描述

外部晶振相对于内部时钟(如HSI)来说,稳定性更高,精度更高。因此,对于那些需要高精度时钟的应用,我们通常会使用外部晶振。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/430687.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023 年 3 月 NFT 月度报告

作者:Danielfootprint.network 数据来源:NFT Monthly Report 三月份的 NFT 市场上出现了两个有趣的趋势。一方面,Polygon 链尽管在二月份有所突破,达到了 NFT 总交易量的 4.2%,但于三月再次跌至 1% 以下,…

55 openEuler搭建Mariadb数据库服务器-配置环境

文章目录 55 openEuler搭建Mariadb数据库服务器-配置环境55.1 关闭防火墙并取消开机自启动55.2 修改SELINUX为disabled55.3 创建组和用户55.4 创建数据盘55.4.1 方法一:在root权限下使用fdisk进行磁盘管理55.4.2 方法二:在root权限下使用LVM进行磁盘管理…

【C语言】基础语法1:变量和数据类型

❤️‍🔥前情提要❤️‍🔥   欢迎来到C语言基本语法教程   在本专栏结束后会将所有内容整理成思维导图(结束换链接)并免费提供给大家学习,希望大家纠错指正。本专栏将以基础出发,在之后的教程中将会不断…

MySQL调优笔记——慢SQL优化记录(2)

今天调优的原因是,有一个统计报表业务,查询的时间太慢;同时由于数据库的压力是随机性的,这个业务的执行下限和上限相差近20倍;快的时候可以达到600ms,慢的时候有9秒之多; 接下来详细介绍&#x…

STL--string

一、string介绍 string是表示字符序列的对象。 标准字符串类通过类似于标准字节容器的接口为此类对象提供支持,但添加了专门设计用于处理单字节字符字符串的功能。 字符串类是 basic_string 类模板的实例化,该模板使用char作为其字符类型,以…

【云原生进阶之容器】第五章容器运行时5.7--容器逃逸原理

《云原生进阶之容器》专题索引: 第一章Docker核心技术1.1节——Docker综述第一章Docker核心技术1.2节——Linux容器LXC第一章Docker核心技术1.3节——命名空间Namespace第一章Docker核心技术1.4节——chroot技术第一章Docker核心技术1.5.1节——cgroup综述

为什么要对员工行为进行安全管控?

ChatGPT的火热已不是一件新鲜事了。而现在更让大家热议的是,ChatGPT带来的网络安全风险,不少安全人员对此担心不已。因ChatGPT引起的网络安全事件,媒体也多有报道。 例如,近日,外媒就报道了三星因ChatGPT泄露了机密信息…

ChatGPT - 基于 Visual Studio Code 进行 AI 编码

2023-04-15 周六 杭州 晴 前情提要 ChatGPT ,AutoGPT , AgentGPT 现在各种人工智能编码工具层出不穷,通过人工智能编码再也不用记大量的技术知识点了,现在所谓开发人员的经验性的东西也好像弱化了很多,我们可以更有效率的做自己…

Qt/QML编程学习之心得:QML界面设计(二)

都知道Qt是一种界面设计语言,那么它有几种设计方式UI technologies呢?答案是5种。 1、传统桌面所见即所得Classic desktop look-and-feel• Qt Widgets 2、 流畅、现代+触控Fluent, modern touch-based UX• Qt Quick 3、 三维3D becomes more and more important• Qt Open…

安全运营之资产安全信息管理

安全风险管理的三要素分别是资产、威胁和脆弱性,脆弱性的存在将会导致风险,而威胁主体利用脆弱性产生风险。网络攻击主要利用了系统的脆弱性。由于网络管理对象(资产)自身的脆弱性,使得威胁的发生成为可能,…

Linux 函数调用过程解析

一、Linux 函数调用过程解析 在x86的计算机系统中,内存空间中的栈主要用于保存函数的参数,返回值,返回地址,本地变量等。一切的函数调用都要将不同的数据、地址压入或者弹出栈。因此,为了更好地理解函数的调用&#xf…

QT 常见面试题

1、在Qt当中,多线程环境下,信号槽分别是在什么样的线程中执行?如何控制? 参考答案: 通过connect(...)第5个参数控制信号槽执行所在线程 connect(...)它的连接方式:队列连接、自动连接和直接连接 队列连…

EMC-MLCC电容反谐振点引起的RE辐射超标

MLCC电容反谐振点引起的RE辐射超标 对待RE辐射问题,可以按照干扰源,干扰路径,被干扰源,入手较多的是干扰源和干扰路径, 解决干扰源可以从展频,调频,屏蔽干扰源,增加RC snabber吸收…

ChatGPT颠覆者来了,能替代90%的人的工作?

前言 Auto GPT是一个实验性开源应用程序,展示了GPT-4语言模型的功能。该程序由GPT-4驱动,将LLM“思想”链接在一起,以自主实现您设定的任何目标。作为GPT-4完全自主运行的首批例子之一,Auto GPT突破了人工智能的极限。 特征 &a…

明面抵制,暗中布局 对于AI,马斯克的言行为何如此“割裂”?

最近,马斯克创建了一家叫做“X”的空壳公司,目标是将其打造成涵盖各方面的多功能应用集合平台,推特、SpaceX、特斯拉、Neuralink等公司业务都已打包加入其中。如今,“X”公司再添新丁——X.AI,即马斯克新成立的人工智能…

【硬件外设使用】——PWM

【硬件外设使用】——PWMPWM基本概念PWM使用方法pyb.pwm方法属性machine.pwm方法属性PWM可用的传感器PWM基本概念 PWM是脉冲宽度调制(Pulse Width Modulation)的缩写,是一种用数字信号控制模拟电路输出的技术。PWM通常被用来控制电压或电流的…

【 Spring MVC 核心功能(三) - 输出数据】

文章目录引言一、返回静态页面二、返回非静态页面的数据三、返回 JSON 对象四、请求转发(forward)和请求重定向(redirect)五、拓展:IDEA 热部署(热加载)3.1 添加 SpringBoot DevTools 框架3.2 开起 IDEA 的自动编译3.3 开起运行中的热部署3.4 使用 debug 启动项目引…

Docker系列 基于OpenAI API自建ChatGPT

转自我的博客文章https://blognas.hwb0307.com/linux/docker/4201,内容更新仅在个人博客可见。欢迎关注! 前言 我用帐号/密码使用chatGPT已经有一段时间。但是,我有几个私交较密的朋友,他们并不具备使用chatGPT的条件&#xff1b…

kafka集群topic重新分配leader

1.案例 当kafka集群的broker节点宕机重启后,此broker节点的partition分区的leader节点会被选举为其它broker节点,此broker节点恢复后就会导致配分不均衡 可以看到所有partition的leader节点都在broker id为1的节点上,原来是平均分配到3个broker节点上,replicas项的首位…

【动手学深度学习】(task123)注意力机制剖析

note 将注意力汇聚的输出计算可以作为值的加权平均,选择不同的注意力评分函数会带来不同的注意力汇聚操作。当查询和键是不同长度的矢量时,可以使用可加性注意力评分函数。当它们的长度相同时,使用缩放的“点-积”注意力评分函数…