4. STM32_定时器
概述
什么是定时器:
定时器核心就是计数器,是使用精准的时基,通过硬件的方式,实现定时功能的器件。
定时器的工作原理:
主频时钟CLK通过PSC进行分频后产生定时器时钟TIM CLK,计数器CNT根据TIM CLK的频率进行计数,当到达所计数的次数后,定时器产生溢出信号可以触发中断或事件,同时ARR将初始值重装载到CNT中,开启下一次的定时。

定时器的类型:
STM32定时器分为常规定时器、专用定时器、内核定时器。其中常规定时器又分为基本定时器、通用定时器、高级定时器。各类定时器的关系如下:

三种常规定时器的区别:
常规定时器分为基本定时器、通用定时器、高级定时器,它们三个的功能是逐渐增强的关系。
- 基本定时器:只能实现定时功能
- 通用定时器:包含基本定时器的功能,并且具有多路独立通道,可用于输入捕获、输出比较
- 高级定时器:包含通用定时器的功能,并且具有互补输出、刹车输入等电机控制功能。
基本定时器
基本定时器框图:

计数模式:
计数模式有递增计数模式、递减计数模式、中心对齐计数模式。运行原理如下:

- 递增计数模式
初始时,CNT = 0。之后CNT一直递增,直到CNT = ARR时溢出,CNT被重新设置为0。
- 递减计数模式
初始时,CNT = ARR。之后CNT一直递减,直到CNT = 0时溢出,CNT被重新设置为ARR。
- 中心对齐计数
初始时,CNT = 0。之后CNT一直递增,直到CNT = ARR - 1时溢出,CNT被设置为ARR。
之后CNT一直递减,直到CNT = 1时溢出,CNT被设置为0。之后递增重复以上操作。
对应的溢出条件及初始值总结如下:
| 计数模式 | 溢出条件 | 初始值 |
| 递增计数模式 | CNT = ARR | CNT = 0 |
| 递减计数模式 | CNT = 0 | CNT = ARR |
| 中心对齐计数模式 | CNT = ARR -1 CNT = 1 | 初始/CNT=1溢出后CNT = 0 CNT=ARR-1溢出后CNT = ARR |
各个计数模式的时序图分析:
分析下述时序图的PSC、ARR配置,以及计数模式。

分析:CK_PSC是输入到PSC中的时钟,CK_CNT是输入到CNT的时钟。从图中可以看到,2个CK_PSC产生1个CK_CNT,因此是2分频,PSC = 2-1 = 1。因为溢出信号是计数器上溢,所以是递增计数模式。递增计数模式溢出为ARR,从图中可以看到在CNT = 36时溢出,所以ARR = 36。
定时器溢出时间计算公式:

- Tout:定时器的溢出时间,单位s
- PSC:分频系数
- ARR:溢出时的计数个数,在递增计数模式时,该值就是ARR寄存器中的值;在递减计数模式时,该值是初始化时的值;在中央对齐模式时,该值是ARR-1。
- Ft:定时器的时钟源频率,就是框图中PSC_CK的值。单位Hz
相关文章:
4. STM32_定时器
概述 什么是定时器: 定时器核心就是计数器,是使用精准的时基,通过硬件的方式,实现定时功能的器件。 定时器的工作原理: 主频时钟CLK通过PSC进行分频后产生定时器时钟TIM CLK,计数器CNT根据TIM CLK的频率…...
Mysql 深度分页问题及优化方案
Mysql 深度分页问题及优化方案 一、为什么 MySQL 深度分页慢?二、优化方案三、补充 一、为什么 MySQL 深度分页慢? 在数据量大时,深分页查询速度缓慢,主要原因是多次回表查询。 前言:N个条件为索引,id为主…...
前端性能优化技巧
前端性能优化技巧 1. 介绍 前端性能优化是确保网站或应用程序快速、响应迅速和流畅的关键。本文档将详细探讨提升前端性能的各种策略和最佳实践。 2. 资源加载优化 2.1 资源压缩 代码压缩:使用 Webpack、Terser 等工具压缩 JavaScript、CSS 文件文件大小压缩&a…...
taro使用createAsyncThunk报错ReferenceError: AbortController is not defined
解决办法: 1,安装这俩包:yet-another-abortcontroller-polyfill,event-target-polyfill 2,app.js import: import ‘event-target-polyfill’; import ‘yet-another-abortcontroller-polyfill’; 补充 但…...
Linux:systemd进程管理【1】
整体理解 要快速掌握Linux的systemd并覆盖80%的使用场景,以下是最重要的20%知识点: Systemd简介与核心功能: Systemd是一个系统和服务管理器,作为Linux系统的PID 1进程,负责启动和管理其他系统组件。它提供并行启动服…...
【Maven】继承和聚合
5. Maven的继承和聚合 5.1 什么是继承 Maven 的依赖传递机制可以一定程度上简化 POM 的配置,但这仅限于存在依赖关系的项目或模块中。当一个项目的多个模块都依赖于相同 jar 包的相同版本,且这些模块之间不存在依赖关系,这就导致同一个依赖…...
【线上问题记录 | 排查网络连接问题】
问题描述 现在有我们程序是部署在服务器A的,A链接的是B。程序从B的redis进行存储和取数据的。 我们的业务是: 信息展示,也就是如果发现机器有异常了,实时进行监控。突然发现有一天,信息显示延迟了。 然后我们就开始排查究竟什么原…...
springboot车辆管理系统设计与实现(代码+数据库+LW)
摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了车辆管理系统的开发全过程。通过分析车辆管理系统管理的不足,创建了一个计算机管理车辆管理系统的方案。文章介绍了车辆管理系统的系统分析部分&…...
独家|京东调整职级序列体系
原有的M、P、T、S主序列将正式合并为新的专业主序列P。 作者|文昌龙 编辑|杨舟 据「市象」独家获悉,京东已在近日在内部宣布对职级序列体系进行调整,将原有的M、P、T、S主序列正式合并为新的专业主序列P,合并后的职级体系将沿用原有专业序…...
Arrays.copyOfRange(),System.arraycopy() 数组复制,数组扩容
Arrays.copyOfRange() 当需要将数组中的 长度扩容时, 数组复制 使用 需要用到Arrays 类提供的的 参数解析 * param original the array from which a range is to be copied * param from the initial index of the range to be copied, inclusive * param to the final ind…...
Python学习37天
# 魔术方法 # 创建类Monster,默认为object的子类 class Monster: name None age None gender None def __init__(self, name, age, gender): self.name name self.age age self.gender gender # 重写魔术方法__str__输出实例对象信息…...
flask的第一个应用
本文编写一个简单的实例来记录下flask的使用 文章目录 简单实例flask中的路由 简单实例 flask的依赖包都安装好之后,我们就可以写一个最简单的web应用程序了,我们把这个应用程序命名为first.py: from flask import Flaskapp Flask(__name__)app.route(/…...
【论文格式】同步更新中
1横向和纵向坐标的坐标密度不能太大,显示太多看起来不好看,本课题组采用emf,目前使用页面内紧凑,600dpi 2Force(kN):k小写 3涉及到变量的,变量本身斜体...
Java-GUI(登录界面示例)
简述: 步骤: (1)构造界面(将组件对象加入容器对象,注意:应设定对容器对象的布局策略) (2)为界面加入事件响应处理(如单击按钮) 实现: 两种方式实现,只有用户名为"admin"且密码为…...
看华为,引入IPD的正确路径
目录 前言 引发重视 作者简介 前言 华为将 IPD 的引入过程归结为三步: 先僵化、后优化、再固化。 如果只是单纯模仿,在不清楚底层逻辑的情况下, 就开始走先僵化的流程,去搞削足适履式的引入。 开始执行后,你就…...
计算机毕业设计Spark+大模型知识图谱中药推荐系统 中药数据分析可视化大屏 中药爬虫 机器学习 中药预测系统 中药情感分析 大数据毕业设计
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
pcb线宽与电流
三十年一路高歌猛进的中国经济, 中国经历了几个三十年? 第一个三十年:以计划为导向。 第二个三十年:以经济为导向。 现在,第三个三十年呢? 应该是以可持续发展为导向。 传统企业摇摇欲坠, 新兴企…...
w~视觉~合集26
我自己的原文哦~ https://blog.51cto.com/whaosoft/12663170 #InternVL 本文设计了一个大规模的视觉-语言基础模型(InternVL),将视觉基础模型的参数扩展到60亿,并逐步与LLM对齐,利用来自不同来源的网络规模的图像-文…...
Qt支持RKMPP硬解的视频监控系统/性能卓越界面精美/实时性好延迟低/录像存储和回放/云台控制
一、前言 之前做的监控系统,已经实现了在windows上硬解码比如dxva2和d3d11va,后续又增加了linux上的硬解vdpau的支持,这几种方式都是跨系统的硬解实现方案,也是就是如果都是windows系统,无论X86还是ARM都通用…...
【Qt】图片绘制不清晰的问题
背景 实现一个图片浏览器,可以支持放大/缩小查看图片。主要组件如下: // canvaswidget.h #ifndef CANVASWIDGET_H #define CANVASWIDGET_H#include <QWidget>class CanvasWidget : public QWidget {Q_OBJECT public:explicit CanvasWidget(QImag…...
别再乱试了!易语言大漠插件BindWindow后台绑定,这几种模式组合才是真稳定(附Win10/11避坑指南)
易语言大漠插件后台绑定实战:Win10/11高效稳定组合方案全解析 后台绑定技术一直是自动化开发中的核心痛点,尤其是面对复杂的Windows窗口体系时。大漠插件的BindWindow函数提供了丰富的参数组合,但这也让许多开发者陷入选择困难——为什么同样…...
三相锁相环在DSP(如TI C2000)上的移植与调试避坑指南
三相锁相环在TI C2000 DSP上的工程化实现与调试实战 对于电力电子工程师而言,将理论算法转化为实际可运行的硬件代码往往是最具挑战性的环节。当您已经理解了三相锁相环(SPLL)的数学原理,手头也有了核心算法的C语言实现,接下来要面对的才是真…...
别再只会用多边形了!Maya NURBS挤出命令的三种玩法,轻松搞定复杂曲面建模
解锁Maya NURBS挤出命令的隐藏潜力:从基础到高阶的曲面建模实战 在三维建模领域,NURBS(非均匀有理B样条)技术一直是创建精确曲面的黄金标准。许多设计师在掌握了多边形建模后,面对NURBS工具时却感到无从下手。实际上&a…...
SMUDebugTool终极指南:解锁AMD Ryzen处理器底层调试与超频控制
SMUDebugTool终极指南:解锁AMD Ryzen处理器底层调试与超频控制 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: ht…...
别再手动调了!GraphPad Prism 高效批量处理Grouped数据的3个隐藏技巧
GraphPad Prism进阶:Grouped数据高效处理与可视化优化全攻略 在科研数据分析领域,GraphPad Prism因其直观的界面和强大的统计功能而广受欢迎。然而,许多用户仅停留在基础操作层面,面对复杂的Grouped数据时仍采用低效的手动处理方法…...
如何快速免费解锁电脑隐藏性能:UXTU硬件调优终极完整指南
如何快速免费解锁电脑隐藏性能:UXTU硬件调优终极完整指南 【免费下载链接】Universal-x86-Tuning-Utility Unlock the full potential of your Intel/AMD based device. 项目地址: https://gitcode.com/gh_mirrors/un/Universal-x86-Tuning-Utility 还在为电…...
Linux Deadline 调度器的动态参数调整:运行时的参数更新
简介在传统 Linux 调度体系中,CFS 普通进程、SCHED_FIFO/SCHED_RR 实时进程一旦创建,调度优先级、时间片等参数大多只能通过用户态接口静态设置,运行过程中无法动态变更。而SCHED_DEADLINE作为 Linux 内核原生硬实时调度策略,最大…...
通过用量看板观测TaotokenAPI调用成本与模型消耗分布
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过用量看板观测Taotoken API调用成本与模型消耗分布 接入大模型服务后,成本管理是开发者持续关注的核心议题。直接使…...
基于RAG与Ollama的Obsidian智能插件:打造本地化私有知识库AI助手
1. 项目概述:打造你的本地化智能第二大脑如果你和我一样,是个重度 Obsidian 用户,那么你一定体会过那种感觉:笔记越记越多,知识库越来越庞大,但当你真正需要某个信息时,却像在茫茫大海里捞针。传…...
【2026最新版|收藏备用】用Skill简化大模型知识库连接,小白程序员入门必看
本文专为2026年入门大模型的小白、程序员打造,详细介绍如何通过Skill技术简化大模型与外部知识库的对接流程,对比传统RAG方法的繁琐痛点,手把手讲解Markdown(.md)格式文档的存储技巧、SKILL.md文件的技能描述与导航方法…...
