news 2026/4/3 5:32:26

STM32 TIM3实现1ms系统滴答与app_delay延时设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
STM32 TIM3实现1ms系统滴答与app_delay延时设计

1. 定时器时间基准的工程本质

在嵌入式系统开发中,“获取当前时间”并非一个抽象概念,而是一个需要精确建模的硬件行为。STM32的通用定时器(如TIM3)本质上是一个可编程的递增计数器,其行为完全由输入时钟、预分频器(PSC)和自动重装载寄存器(ARR)共同决定。理解这一点是构建可靠延迟函数的前提。

以TIM3为例,其时钟源来自APB1总线。在标准的72MHz系统主频下,APB1总线频率为36MHz。但关键细节在于:当APB1预分频器配置为不分频(即PCLK1 = HCLK)时,定时器时钟会被硬件自动倍频——这是STM32F1系列的一个重要特性。因此,若HCLK=72MHz且APB1预分频为1,则TIM3的实际输入时钟为72MHz;若APB1预分频为2(PCLK1 = 36MHz),则TIM3时钟仍为72MHz。这一机制确保了定时器具有更高的分辨率和更宽的定时范围。

本方案选择将TIM3配置为1ms时间基准,其核心参数推导如下:
- 目标溢出周期:1ms = 1000μs
- 输入时钟频率:72MHz → 周期为1/72MHz ≈ 13.89ns
- 预分频系数(PSC):需使计数器时钟接近1MHz以便于计算。设PSC = 71,则分频后时钟为72MHz/(71+1) = 1MHz,计数周期恰为1μs
- 自动重装载值(ARR):1ms / 1μs = 1000,因计数器从0开始计数,故ARR = 999
- 重复计数器(RCR):设为0,确保每次溢出均产生更新事件(UEV)

此配置下,TIM3的计数器每1ms溢出一次,硬件自动触发更新事件。该事件是后续实现毫秒级时间戳的核心物理基础。

2. 系统滴答的软件抽象:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/31 5:03:42

Keil5 MDK安装详细步骤:零基础全面讲解

Keil5 MDK安装与嵌入式开发环境构建:一位老工程师的实战手记 你有没有试过,在凌晨两点盯着ST-Link指示灯疯狂闪烁,而μVision控制台只冷冷打出一行: Error: Flash Download failed — Cortex-M4 这不是玄学,是Keil…

作者头像 李华
网站建设 2026/3/25 18:30:46

STM32串口中断控制LED:从寄存器配置到临界区保护

1. 串口中断控制LED闪烁实验:工程原理与实现细节 在嵌入式系统开发中,中断机制是连接外设事件与软件响应的核心桥梁。本实验以STM32F103C8T6(Cortex-M3内核)为平台,通过USART1接收PC端串口调试助手发送的ASCII字符(‘0’、‘1’、‘2’),动态调整板载LED(PC13)的闪烁…

作者头像 李华
网站建设 2026/3/31 15:29:44

Qwen2.5-VL-7B-Instruct .NET集成开发:跨平台应用实战

Qwen2.5-VL-7B-Instruct .NET集成开发:跨平台应用实战 1. 为什么要在.NET中集成Qwen2.5-VL-7B-Instruct 最近在给一家做智能文档处理的客户做技术方案时,他们提出了一个很实际的需求:需要在Windows桌面端、macOS笔记本和Linux服务器上&…

作者头像 李华
网站建设 2026/3/30 9:35:28

解锁显卡隐藏潜能:NVIDIA Profile Inspector参数定制终极指南

解锁显卡隐藏潜能:NVIDIA Profile Inspector参数定制终极指南 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 当我们深入显卡驱动层会发现,官方控制面板仅展示了不到30%的可调参…

作者头像 李华
网站建设 2026/3/12 9:33:11

TranslucentTB故障排除指南:从新手到专家的问题解决路线图

TranslucentTB故障排除指南:从新手到专家的问题解决路线图 【免费下载链接】TranslucentTB 项目地址: https://gitcode.com/gh_mirrors/tra/TranslucentTB TranslucentTB是一款能让Windows任务栏实现透明、模糊或亚克力效果的轻量级工具,已被超过…

作者头像 李华
网站建设 2026/4/2 1:14:10

还在被游戏操作拖累?LeagueAkari让你战力提升300%的秘密

还在被游戏操作拖累?LeagueAkari让你战力提升300%的秘密 【免费下载链接】LeagueAkari ✨兴趣使然的,功能全面的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/LeagueAkari 你是否…

作者头像 李华