软件:STM32-F1系列-TIM定时器介绍(2026/6/29)
目录时钟来源简介时基单元:输出比较:一、什么叫输出比较(Output Compare)二:一个具体的时基例子来介绍输出比较三:OC输出比较控制了gpio的输出电平四:定时器中输出比较的几种模式(1)Frozen(2)Active(置高电平)(3)Inactive(置低电平)(4)Toggle(翻转)最经典的(5)PWM模式(最重要)五:有哪些实际项目应用?① 软件定时输出② 蜂鸣器驱动(Toggle)③ PWM控制④:定时触发ADC⑤:步进电机六:占空比和分辨率1:什么是“分辨率” (Reso)?2:什么是占空比:输入捕获:测频法:(脉冲频率高时用)测周法:(脉冲频率低时用)编码器接口:本质作用:程序框图一:定时器采用:RCC内部时钟①:定时器定时:demo②:定时器输出比较:demo③:输入捕获测频率demo④:输入捕获测脉冲占空比demo二:定时器采用:外部时钟源定时器计数:代码demo编码器测速:代码demo时钟来源简介STM32 的定时器想象成一个“电子秒表”。不管这个秒表是哪里供电的(电池、插座、或者别人推着转),它的核心工作逻辑永远是:接收一个脉冲(心跳/嘀嗒声)。计数器加 1。数满了(溢出),响一声(中断)或者做个动作所有时钟源的区别,本质上就是“这个嘀嗒声是从哪来的”结论:时钟源提供了基础的心跳速度,而 PSC 和 ARR 是在这个心跳基础上进行减速,最终决定多久溢出一次。内部时钟:TIM来计数外部时钟模式2:GPIO或者其余能产生脉冲的东西,接到引脚上就可以使用该模式ETR外部时钟模式1:这个模式,定时器TIM有些有4个通道TL1~TL4都可以作为输入源+ETR编码器模式:这个模式仅2个通道TL1~TL2都可以作为输入源定时器是计数用的,cnt++,所以这些输入源都是为了让cnt++倒是输入捕获和输出比较的时候,TL1输入的脉冲和写入CCR的值是一个if判断条件。让cnt++的东西还是我们的内部时钟,这个不能弄乱,然后就是编码器模式一般是双相,TL1和TL2同时接入,一个定时器可以测出速度,而TL3和TL4不接入编码器模式。时基单元:1️⃣ PSC(Prescaler,预分频器)位数:16 位 → 分频范围 1~65536作用:降低时钟频率,有个经典的 off-by-one 坑:写进去的值是 "分频系数 - 1"。影子寄存器:PSC 是带缓冲的(阴影寄存器)。你改了 PSC,不会立刻生效,要等下次更新事件(UEV)才刷进去。这是为了防止计数中途改分频导致一拍错乱。2️⃣ CNT(Counter,计数器)位数:TIM2/TIM5 是32 位,TIM3/TIM4 是 16 位(F1 系列)作用:每个 CK_CNT 脉冲来,CNT += 1(或 -=1,取决于方向)三种计数模式:向上计数(最常用):0 → ARR,归零重来向下计数:ARR → 0,重装 ARR 再来中心对齐:0 → ARR → 0 → ARR…(PWM 对称波常用,减少谐波)3️⃣ ARR(Auto-Reload Register,自动重装载)位数:16 位作用:设定 CNT 的"天花板"。CNT 数到 ARR 那一刻:CNT 清零(向上模式)产生更新事件 UEV可以触发中断 / DMA / TRGO同样 off-by-one:想要 1000 次溢出,ARR 写999:影子寄存器:可开可不开。你可以配置:ARPE = 0:写 ARR 立刻生效(可能下一拍就乱)ARPE = 1:写 ARR 等下次 UEV 才生效(安全,PWM 推荐)更新事件 UEV —— 时基的"产出物"CNT 溢出那一瞬间,硬件自动干这几件事:CNT 归零(或重装 ARR,向下计数时)影子寄存器刷新:PSC、ARR、CCRx 的缓冲值 → 生效值UEV 信号产生:可以打中断(TIM_IT_Update)可以触发 DMA可以送出TRGO(给 ADC/DAC/其他 TIM)你之前问的"硬件自动化"就在这儿——UEV 可以不打扰 CPU,直接 TRGO → ADC 启动采样,这就是定时采样不占 CPU 的典型玩法。初学最容易踩的三个坑PSC/ARR 要减 1:想分 72 分频,写 71;想数 1000 次,ARR 写 999。PSC/ARR 影子寄存器:刚改完 ARR,发现 CNT 还没按新值跑——因为它在等下次 UEV。调试时容易懵。TIM2/TIM5 是 32 位:F1 上只有它俩是 32 位 CNT,要做超长定时(比如几秒~几分钟)用这俩,TIM3/TIM4 16 位最大 65535,分频不够就容易溢出太频。输出比较:定义:STM32 的输出比较(Output Compare,简称 OC)是很多人学习定时器时容易混淆的地方,因为它和 PWM 放在一起讲,但实际上PWM只是输出比较功能的一种特殊应用,输出比较不只是用于PWM电平调制。一、什么叫输出比较(Output Compare)一句话:让定时器CNT计数到指定数值(CCR)时,自动对输出引脚执行一个动作。二:一个具体的时基例子来介绍输出比较假设:ARR = 999,PSC = 71,72 MHZ变为1MHZ,自动重转载计数从0~999如果:设置CCR1 = 500那么:500 ← 匹配!到了500这一瞬间,比较器发现CNT == CCR1,于是OC事件发生依据:OC Mode,决定电平是否变化。一个通用定时器内部通常包含 4 套独立的比较电路,每套电路都有自己的 CCR 寄存器(即 CCR1、CCR2、CCR3、CCR4)三:OC输出比较控制了gpio的输出电平STM32里面每一路定时器都有:TIMx_CH1TIMx_CH2TIMx_CH3TIMx_CH4例如:TIM3_CH1可以映射到PA6于是:CNT == CCR1时,TIM3_CH1会输出你想要的电平至PA6,PA6就会自动改变状态,所以输出比较最终控制的是:对应通道输出引脚的电平。四:定时器中输出比较的几种模式STM32最常见有五种:Frozen,Active,Inactive,Toggle,PWM(1)Frozen CNT == CCR时,什么都不做,一般用于,只产生中断不改变IO。 很多程序就是用于,开启OC中断,CNT==CCR,进入中断,CPU处理事情。(2)Active(置高电平)CNT == CCR时,比较成功,IO口输出低电平变为高电平。 低电平_________,到了CCR变为_______| ̄ ̄ ̄ ̄ ̄ ̄ ̄ 如果:CCR=500 那么:CNT 0----------------500----------------999 输出 _________| ̄ ̄ ̄ ̄ ̄ ̄(3)Inactive(置低电平)CNT == CCR时,比较成功,IO口输出高电平变为低电平。高电平  ̄ ̄ ̄ ̄ ̄ ̄ ̄,到了CCR变为 ̄ ̄ ̄ ̄|__________(4)Toggle(翻转)最经典的例如:第一次:___

相关新闻

深度学习实战-基于CNN+VGG16融合的水稻图像分类识别模型

深度学习实战-基于CNN+VGG16融合的水稻图像分类识别模型

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

2026/7/26 23:00:13阅读更多 →
3步绕过B站直播姬限制:获取专业推流码的终极指南

3步绕过B站直播姬限制:获取专业推流码的终极指南

3步绕过B站直播姬限制:获取专业推流码的终极指南 【免费下载链接】bilibili_live_stream_code 获取B站直播推流码,支持开关播,管理直播标题、分区,显示弹幕和礼物。 项目地址: https://gitcode.com/gh_mirrors/bi/bilibili_live…

2026/7/26 22:58:12阅读更多 →
agent面试必备48-AI Agent 核心进阶:多智能体“任务分配策略”

agent面试必备48-AI Agent 核心进阶:多智能体“任务分配策略”

🎯 AI Agent 核心进阶:多智能体“任务分配策略”全解析与面试通关指南 在搭建多智能体(Multi-Agent)系统时,如果我们已经搞定了“通信机制”,紧接着就会面临一个现实的“管理学”问题:当系统里有…

2026/7/26 22:58:12阅读更多 →
软件设计师⑥-结构化开发方法

软件设计师⑥-结构化开发方法

1111111111111111111111111111111111

2026/7/27 2:02:47阅读更多 →
软件设计师⑤-软件工程基础知识

软件设计师⑤-软件工程基础知识

11111111111111111111111111111111111111

2026/7/27 2:02:47阅读更多 →
7 月 AI + Web3 技术月报:从智能合约审计到去中心化推理的关键进展盘点

7 月 AI + Web3 技术月报:从智能合约审计到去中心化推理的关键进展盘点

7 月 AI Web3 技术月报:从智能合约审计到去中心化推理的关键进展盘点 一、引言 2026 年 7 月,AI 与 Web3 的交叉领域出现了若干值得技术从业者关注的变化。智能合约审计工具开始引入大模型辅助分析,去中心化推理网络在多个测试链上完成阶段性…

2026/7/27 2:02:47阅读更多 →
去中心化 AI 服务的行业适配框架:推理、训练、数据三大环节的场景化部署策略

去中心化 AI 服务的行业适配框架:推理、训练、数据三大环节的场景化部署策略

去中心化 AI 服务的行业适配框架:推理、训练、数据三大环节的场景化部署策略 一、引言 "去中心化 AI"在 2026 年的语境中有三个截然不同的指向:去中心化推理网络(如 Bittensor 的子网、Hyperbolic 的算力市场)、去中心化…

2026/7/27 2:02:47阅读更多 →
GraphQL 多场景 Schema 治理:从单一 DApp 到多产品线的联合查询架构演进

GraphQL 多场景 Schema 治理:从单一 DApp 到多产品线的联合查询架构演进

GraphQL 多场景 Schema 治理:从单一 DApp 到多产品线的联合查询架构演进 一、引言 Web3 产品线从单点 DApp 扩展到多产品矩阵时,API 层的碎片化是第一个被忽略但最痛苦的技术债务。一个典型的扩展路径:最初只有一个 NFT 市场的 GraphQL Schem…

2026/7/27 2:02:47阅读更多 →
如何快速掌握Pixelorama:终极免费像素艺术创作工具完全指南

如何快速掌握Pixelorama:终极免费像素艺术创作工具完全指南

如何快速掌握Pixelorama:终极免费像素艺术创作工具完全指南 【免费下载链接】Pixelorama Unleash your creativity with Pixelorama, a powerful and accessible open-source pixel art multitool. Whether you want to create sprites, tiles, animations, or just…

2026/7/27 2:00:47阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/27 1:14:34阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/27 1:14:52阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/27 1:14:56阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:24阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:24阅读更多 →
2007-2023年各市区县生态文明建设示范区DID

2007-2023年各市区县生态文明建设示范区DID

数据简介 自改革开放以来,我国依赖高投入、高资源消耗和高污染等传统发展模式实现了经济短期内的快速增长, 然而这也导致了严重的生态环境危机。因此,国家有力于推动企业高质量经济发展,协同生态保护的方针,从而从201…

2026/7/27 0:00:24阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/25 23:03:25阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/26 19:05:21阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/26 19:05:21阅读更多 →