当前位置: 首页 > news >正文

STM32——HAL库开发笔记20(定时器1—时基单元)(参考来源:b站铁头山羊)

一、定义

单片机中的定时器(Timer)是一a个非常重要的外设模块,用于生成精确的时间延迟、测量时间间隔、产生PWM信号等。定时器的核心是一个计数器,它通过对时钟信号进行计数来实现时间相关的功能。

时钟树为定时器提供时钟信号,定时器再执行相关的操作。

定时器的内部结构框图

二、时基单元

2.1 时钟来源

时钟来源有三种:RCC、TRIG、ETRF

我们本次只需要了解来自RCC的时钟来源,如图

APB的分频系数等于1 ,那么倍频系数就是1,若>1,倍频系数就是2。

举个例子,如下图:

2.2 预分频器(PSC)

用来降低输入时钟的频率,预分频器的分频系数 = PSC + 1。PSC∈(0,65535)

例如:

2.3 计数器CNT

对左侧输入的脉冲进行计数。CNT可+1/-1;CNT∈(0,65535)

CNT到底+1还是-1,取决于我们所选择的计数方向。计数方向如下

2.4 重复计数器

作用是设置重复计数的次数,重复计数的次数 = RCR+1。RCR∈(0,65535)

2.5 自动重装系统ARR

定时器模块中的自动重装载寄存器。这个功能主要用于定时器的自动重装载操作,使得定时器在达到设定值后能够自动重新开始计数,而不需要手动干预。

以手表计数5圈响铃一次为例展示全流程,如图

三、补充知识

RCR为什么是虚线?

 

对我们的STM32F103C8T6来说,只有四种定时器,TIM1~TIM4。其中TIM1为高级定时器。

虚线的原因是:只有高级定时器才有RCR

四、寄存器预加载

预加载就是一种缓存机制。当我们向寄存器写值的时候,这个值首先会进入影子寄存器,等到某个事件发生的时候,影子寄存器里面的值才会进入活动寄存器。这个时候我们写入的值才会生效。

预加载是为了安全,防止定时器跑飞。自动重装寄存器(ARR)、预分频器(PSC)、重复计数器(RCR)有预加载。其中PSC和RCR的预加载是强制开启的,关不掉。ARR的预加载是可以手动开关的,而且默认是关闭状态,通常需要手动使能ARR的预加载。

相关文章:

  • JAVA实战开源项目:宠物咖啡馆平台(Vue+SpringBoot) 附源码
  • Unity 获取独立显卡数量
  • FPGA实现SDI视频缩放转GTY光口传输,基于GS2971+Aurora 8b/10b编解码架构,提供工程源码和技术支持
  • 教程 | 在PVE中部署OpenWrt旁路由教程(附主题包和镜像)
  • MySQL 处理重复数据
  • 2025年AI免费大战:从DeepSeek到GPT-5的商业逻辑与行业变革
  • DeepSeek教unity------MessagePack-03
  • ‌双非硕士的抉择:自学嵌入式硬件开发还是深入Linux C/C++走软开?
  • Deepseek 本地部署
  • Toast 弹窗的排查历程
  • 【MySQL 一 数据库基础】深入解析 MySQL 的索引
  • 第三届通信网络与机器学习国际学术会议(CNML 2025)
  • 讲解一下SpringBoot的RPC连接
  • 机器学习 - 特征学习(表示学习)
  • 【OJ项目】深入剖析题目接口控制器:功能、实现与应用
  • 【计算机毕业设计】Spring Boot教师人事档案管理系统功能说明
  • Python爬虫框架 - 实际项目(拿到可以直接用)
  • 中望CAD c#二次开发 ——VS环境配置
  • 【Getting Started】-数据结构介绍-Introduction to Data Structures
  • 异步加载和协程+Unity特殊文件夹
  • 丰田汽车:美国关税或导致4、5月损失1800亿日元,新财年净利润下滑三成
  • 北京:下调个人住房公积金贷款利率
  • 川大全职引进考古学家宫本一夫,他曾任日本九州大学副校长
  • 央行将增加3000亿元科技创新和技术改造再贷款额度
  • 五月A股怎么买?券商金股电子权重第一,格力电器最热
  • 牛市早报|金融政策支持稳市场稳预期发布会将举行,商务部:中方决定同意与美方进行接触