STM32使用定时器完成精准的通用us延时函数 📅 发布时间:2026/7/14 7:35:49 👁️ 浏览次数: 一STM32CubeMx定时器的配置创建STM32工程首先勾选SYS里面的Debug选择Serial Wire否则下一次将无法烧录关闭SWD烧录接口。之后配置RCC时钟选择高速的外部晶振。首先在直接红框1内配置输入72点击回车之后选择OKSTM32CubeMx会自动帮你把时钟修改为72Mhz在时钟树右侧可以看到不管是APB1还是APB2总线上的定时器Timer都是72Mhz随便设置一个定时器这里选择Tim3设置为内部时钟Psc分频系数设置为72-1也就是72分频可以得到1Mhz的频率72M赫兹完成72分频每一次加一就是1us时间。二STM32的HAL库代码编写编写初始化函数再次确认关闭了定时器同时计数值为0./*** brief 延时函数初始化基于定时器3* note 定时器3配置PSC71(72-1)Period65535计数频率1MHz1us/次*/void delay_init(void){HAL_TIM_Base_Stop(htim3);__HAL_TIM_SET_COUNTER(htim3, 0);}微妙延时函数最多可以记录65535us调用时候传入需要延时的us数之后先计数值清零在开启定时器一直卡死到需要延时的时间停止计数延时结束。/*** brief 微秒级延时函数* note 最大支持65535us因Period65535超过则截断为65535us* param us: 要延时的微秒数0~65535*/void delay_us(uint16_t us){// 边界检查us为0直接返回超过65535则限定为65535if(us 0) return;if(us 65535) us 65535;__HAL_TIM_SET_COUNTER(htim3, 0);// 2. 启动定时器开始计数HAL_TIM_Base_Start(htim3);// 3. 等待计数器值达到目标微秒数1us1个计数单位while(__HAL_TIM_GET_COUNTER(htim3) us);// 4. 停止定时器避免持续计数HAL_TIM_Base_Stop(htim3);}
Win11 搭建 Python 开发环境:Anaconda 安装、虚拟环境创建与 PyCharm 集成配置 1. 为什么需要Anaconda和PyCharm组合?如果你刚开始接触Python编程或者数据科学领域,可能会被各种环境配置问题搞得头大。不同的项目可能需要不同版本的Python解释器,或者依赖不同版本的第三方库,这时候Anaconda和PyCharm的组合就能… 2026/7/14 7:33:48
07、 Skills定制完整指南:打造专属AI能力包的实战手册 📚 本课学习目标 完成本课学习后,你将能够: 目标 掌握内容 应用场景 理解核心价值 掌握Skills与Commands的本质区别和协作方式 技术选型决策 创建第一个Skill 5分钟内完成最简单的Skill配置并看到效果 快速原型验证 掌握SKILL.md结构 理解YAML Frontmatter和Markdown Body的… 2026/7/14 7:33:48
05、Hooks系统完整指南:自动化工作流的终极武器 学习目标 序号 目标描述 掌握程度 1 理解课程核心概念与基本原理 掌握 2 能够运用所学知识解决基础问题 熟练 3 完成课程要求的实践项目或实验 完成 4 具备初步的分析与设计能力 理解 5 为后续深入学习或应用打下基础 了解 (请根据实际课程内容填写表格中的“待填写”部分。)… 2026/7/14 7:33:48
国产信创Linux桌面系统生态构建:从软件包仓库到桌面应用商店的演进与挑战 1. 国产信创Linux桌面系统的生态现状国产信创Linux桌面系统经过多年发展,已经形成了以银河麒麟V10和统信UOS为代表的两大主流阵营。这两款操作系统都基于Linux内核进行深度定制开发,支持多种国产CPU架构,包括龙芯、飞腾、鲲鹏等。从实际使用体… 2026/7/14 10:18:58
HTML实战:从零构建一个西式甜品展示网站 1. 甜品网站项目概述 想象一下,你刚学会几个HTML标签,现在要为自己喜欢的西式甜品制作一个展示网站。这个项目就像用乐高积木搭建甜品店模型——不需要复杂的编程基础,只要掌握HTML的结构化思维和CSS的美化技巧,就能做出让人眼前一… 2026/7/14 10:16:57
为什么企业级Spark集群都在转向CuckooSQL?三大核心优势解析 为什么企业级Spark集群都在转向CuckooSQL?三大核心优势解析 【免费下载链接】CuckooSQL A Spark SQL execution engine with vectorization optimization, which is used to replace the original execution engine of Spark SQL and provides higher performance. … 2026/7/14 10:16:57
强化学习 Reinforcement Learning(七)——好奇心驱动的稀疏奖励环境探索:从ICM到RND 1. 稀疏奖励环境下的探索困境 想象一下你被丢进一个巨大的迷宫,只有找到出口才能获得奖励。在99%的时间里,你都在黑暗的通道里摸索,得不到任何反馈。这就是强化学习中的 稀疏奖励问题 ——就像在超市找一瓶特定品牌的辣椒酱,货架… 2026/7/14 10:14:57
ARDY-G1-RP-25FPS-Horizon8 vs 其他模型变体:为什么8帧生成horizon更适合实时交互? ARDY-G1-RP-25FPS-Horizon8 vs 其他模型变体:为什么8帧生成horizon更适合实时交互? 【免费下载链接】ARDY-G1-RP-25FPS-Horizon8 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/ARDY-G1-RP-25FPS-Horizon8 ARDY-G1-RP-25FPS-Horizon8是NV… 2026/7/14 10:12:56
MySQL多表查询实战:从学生成绩分析到教师授课统计 1. 多表查询基础与场景分析 当你面对教务系统中的学生成绩分析需求时,单表查询往往捉襟见肘。比如校长需要了解"哪位老师教授的课程平均分最高",这就涉及教师表、课程表、成绩表的三表联动。多表查询就像拼图游戏,我们需要找到表之… 2026/7/14 10:10:55
XUnity.AutoTranslator 游戏实时翻译插件:从原理到实战的完整指南 1. 项目概述:当游戏语言成为一堵墙作为一名玩了十几年日系、欧美独立游戏的“老油条”,我太懂那种面对一款心仪已久、画风玩法都戳中G点的游戏,却因为语言不通而望而却步的痛了。尤其是那些基于Unity引擎开发的、体量不大但内容精良的作品&am… 2026/7/14 0:05:14
2026普通文员学数据分析的价值 一、2026年普通文员学习数据分析的必要性随着数字化转型加速,数据分析技能正逐渐成为职场基础能力。普通文员学习数据分析可以提升工作效率、增强竞争力,并为职业转型提供更多可能性。二、数据分析对文员的价值自动化办公:通过数据分析工具&a… 2026/7/14 0:05:14
2026从计划员到主管,生产管理者学数据分析有用吗? 一、生产管理领域的职业发展路径 从计划员到主管的角色转变,是生产管理者职业发展的典型路径。计划员主要负责生产排程、库存管理和资源协调等基础工作,而主管则需要承担团队管理、决策支持和效率优化等更高级别的职责。这种转变不仅仅是职位的提升&… 2026/7/14 0:05:14
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/13 8:31:55
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/13 9:31:08
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/14 5:09:41