第11章 STM32 定时器中断的配备和测试

news/2025/11/1 15:42:42/文章来源:https://www.cnblogs.com/gccbuaa/p/19183430

文章目录

  • 前言
  • 一、STM32CUBE配置修改
  • 二、代码和测试
  • 总结
  • 参考


前言

硬件的配置由前面的工程递增,会根据目的修改部分控制代码
由于本人较懒,记录主要是过程,原理性的东西网上一大把,我就不赘述了,由于懒,主要由图片和代码加少量文字组成
源码地址https://gitcode.com/qq_36517072/stm32,第x章为cx文件夹


一、STM32CUBE配置修改

配置定时器8为使用的定时器,自动更新的时间为168M/((167+1)(999+1))=1K,即一毫秒触发一次更新中断
alt text
alt text
ctrls+generatecode

二、代码和测试

修改tim.c,使能中断

/* USER CODE BEGIN TIM8_Init 2 */
HAL_TIM_Base_Start_IT(&htim8);
/* USER CODE END TIM8_Init 2 */

修改在main.c里添加定时器8的回调函数内容

/* USER CODE BEGIN 4 */
volatile uint64_t ms_counter = 0; // 1ms 增加1的计数器
/* USER CODE END 4 */
/**
* @brief  Period elapsed callback in non blocking mode
* @note   This function is called  when TIM1 interrupt took place, inside
* HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
* a global variable "uwTick" used as application time base.
* @param  htim : TIM handle
* @retval None
*/
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
/* USER CODE BEGIN Callback 0 */
/* USER CODE END Callback 0 */
if (htim->Instance == TIM1)
{
HAL_IncTick();
}
/* USER CODE BEGIN Callback 1 */
if (htim->Instance == TIM8)
{
ms_counter++;  // 每次中断(1ms)增加计数器
if(ms_counter%1000==0) printf("%lld s \r\n",ms_counter/1000);
}
/* USER CODE END Callback 1 */
}

烧录运行后串口每秒打印时间
alt text


总结

主要介绍了STM32 定时器中断的配置和测试

参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/952863.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一种单选的视线,但是实际的ui现实不出来

一种单选的视线,但是实际的ui现实不出来import("stdfaust.lib");// 1. 创建波形选择器(下拉菜单样式) waveSelector = vslider("Waveform[style:menu{Sine:0,Triangle:1,Sawtooth:2,Square:3}]"…

量子计算技术全景:从硬件路线到AI融合 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

100万QPS短链系统、商城微服务系统、Saas点餐系统、商城系统、秒杀系统、刷题吧小程序、智能天气播报AI Agent等9个实战项目

大家好,我是苏三,又跟大家见面了。 前言 最近有些小伙伴对高性能短链系统挺感兴趣的,今天我再推荐一下我星球的项目。最近很多小伙伴在面试时碰壁了,有些小伙伴反馈说:简历中的项目有点拿不出手,没有多少技术亮点…

geek主题备份

页脚HTML代码 <script>window.opts = {theme: {avatar: https://q.qlogo.cn/headimg_dl?dst_uin=1079489986&spec=640&img_type=jpg,headerBackground: https://bing.img.run/1920x1080.php,},signatur…

完整教程:【深度学习04】PyTorch:损失函数、优化器、模型微调、保存与加载

完整教程:【深度学习04】PyTorch:损失函数、优化器、模型微调、保存与加载pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fami…

Chainlink:DeFi量化交易的数据中枢

Chainlink是去中心化预言机网络,通过多节点验证为智能合约提供可信数据。支持CEX-DEX套利、跨链流动性管理等中频量化策略,覆盖80多条区块链,市场占有率超80%,是链上量化的数据基础设施。你的链上策略为什么总慢半…

金仓的数据迁移工具不会用?教你手搓一个万能数据迁移工具。

金仓的数据迁移工具不会用?教你手搓一个万能数据迁移工具。为什么要手搓一个自己的数据库迁移工具 在国产数据库领域,金仓数据库算是比较知名的了,它们都是号称百分百兼容Oracle的,也基本百分百兼容MySQL等数据库,…

【C++】map和set的使用 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【Web安全】转义字符注入?转义也会失效的SQL注入 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

isulad容器使用教程

iSulad是一个由C/C++编写实现的轻量级容器引擎,具有轻、灵、巧、快的特点,不受硬件规格和架构限制,底噪开销更小,可应用的领域更为广泛。 安装isulad:yum install -y iSulad成功安装iSulad之后,需要先配置好容器镜…

完整教程:基于类的四种设计模式

完整教程:基于类的四种设计模式pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&qu…

Go基础:正则表达式 regexp 库详解 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

JBoltAI 智能企业内训平台深度解析

企业内训智能化转型新标杆:JBoltAI 智能企业内训平台 在数字化转型浪潮下,企业培训模式正经历着从传统线下授课到全流程智能化的颠覆性变革。JBoltAI 智能企业内训平台作为企业培训领域的创新解决方案,凭借其 AI 驱…

2025 年 11 月云南财务服务,云南财税咨询,昆明代理记账公司最新推荐,技术实力与市场口碑深度解析!

2025 年 11 月,省税务师协会联合省数字财税发展研究院,针对全省 92 家开展云南财务服务、云南财税咨询、昆明代理记账业务的机构,开展以 “技术硬实力 + 市场好口碑” 为核心的专项测评。本次测评采用 “量化考核 +…

第四十五章 ESP32S3 Flash 模拟 U 盘实验 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

JBoltAI框架揭秘:如何为Java应用注入“企业级AI知识库”能力

JBoltAI框架揭秘:如何为Java应用注入“企业级AI知识库”能力在企业级AI应用中,RAG(检索增强生成)是实现智能问答、决策辅助等场景的核心技术。而其根基,在于一个高效、可控的AI知识库。今天,我们将深入介绍JBolt…

2025 年 11 月云南财税服务,昆明财税代理,云南代理记账公司最新推荐,实力品牌深度解析采购无忧之选!

2025 年 11 月,省注册会计师协会联合省中小企业财税服务联盟,针对全省 87 家开展云南财税服务、昆明财税代理、云南代理记账业务的机构,开展 “实力品牌专项测评”。本次测评采用 “三维度权重评估法”:品牌资质维…

电脑恢复技巧:适用于 Windows 的 9 款最佳分区恢复软件

磁盘分区对于妥善存储数据、方便快捷地从硬盘访问数据至关重要。然而,如果分区损坏,其中存储的所有数据将突然无法访问。磁盘分区损坏的原因有很多,其中最常见的包括病毒攻击、突然断电、物理损坏或坏扇区的产生。 …

2025 年 11 月云南环保咨询,云南环评手续咨询,云南环评批复咨询最新推荐:聚焦资质、案例、售后的五家机构深度解读!

为解决云南企业在环评服务选型中 “资质真伪难辨、案例适配性不明、售后保障缺失” 的核心痛点,云南省环境保护产业协会联合省环境工程评估中心开展 2025 年度专项测评,覆盖全省 268 家咨询机构,最终筛选出 5 家在资…

20251031周五日记

20251031周五日记今日: 1.起的贼早,去实验室看会儿文章去和祥吃必胜客炉石联动。被上了一课,以后要更明确地懂别人的隐藏动作意思呀。陪他买个蛋糕回去上课了。 2.回去先把东西放回宿舍,把杜的信寄走。去听汇报和课…