这是我配置的定时器,先用1ms测试
然后开始debug调试
可以看到刚开始timer2不为0,使用进while循环,在中断里面timer2--。继续走下去
当进行到这一步的时候,timer2已经减为0了。然后它又进了一次void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)。这个函数,不过都是一系列判断,什么都没执行,不过这个函数太长了,所以这里没放全。
我一步步走下去,到了最后,在这个函数结束的地方,程序直接跑飞了,回不去while循环判断了,调了两天,去掉while循环,可以执行下去,不会出现卡死的情况,但那就实现不了delay了。也试过网上的方法,读寄存器值,但放到板子上发现一点也不准。我以前用标准库的时候,也是用定时器中断实现的,while循环这儿也是这样,但没出过这种情况,这两天一直在调,都快崩溃了也搞不清楚到底是怎么回事,请大神帮助!!!
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已采纳
HAL库,定时器停止后程序跑飞
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
soar3033 2020-06-12 08:42关注你把while (timer2!=0) 改成while(timer2>0)看看。
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2023-11-03 15:17-HSheng的博客 STM32中定时器可分为高级定时器、通用定时器、基本定时器三类,他们都是由一个可编程的16位预分频器(TIMX_PSC)驱动的16位。PWM(Pulse Width Modulation)即脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输...
- 2025-02-06 16:03sakabu的博客 这是一份专注于STM32 HAL库的实战学习笔记,你将通过它掌握两大核心技能:手把手教你通过CubeMX配置常用外设,摆脱对标准库的依赖;像查字典一样随时检索HAL库函数用法,快速解决开发中的配置难题。这里都会提供开箱...
- 2024-07-19 15:55王哪跑_W的博客 三 种:使用中断函数*/ /*第 三 种:使用中断函数*/ /*使用按键中断时,注意将按键优先级设为interrupt*/ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { if(GPIO_Pin == GPIO_PIN_1)//激活EXTI1 { //程序 ...
- 2023-01-17 03:10行稳方能走远的博客 待机模式实验 PWR 寄存器 硬件设计 程序设计 下载验证 DMA 串口发送实验 DMA 简介 DMA 框图 DMA 寄存器 硬件设计 程序设计 DMA 的HAL 库驱动 程序流程图 程序解析 下载验证 高级定时器实验 本章我们主要来学习高级...
- 2023-06-10 15:34工科边角料的博客 然后开始单片机的开发的教学,主要以“项目为驱动,效果为导向”的理念教学,主要掌握单片机的基本外设,例如:串口、定时器、ADC、DMA、 IIC 和SPI等,每一个外设都以实际的项目为依托来学习,最后用一个综合项目...
- 2023-04-18 13:51行稳方能走远的博客 基础工程 由于本文的后续一些实验当中需要用到LED、LCD、定时器、串口、内存管理等外设及功能,因此就以正点原子标准例程-HAL 库版本的内存管理的实验工程为基础工程进行FreeRTOS的移植。由于内存管理实验例程的BSP...
- 2022-07-27 00:18「已注销」的博客 我们在基于ST的标准库或基于CubeMx建立工程,当用到定时器并启用其更新中断时,可能会遇到一使能定时器中断且计算器还未开始计数就立即进入更新中断服务程序的情况。可能出现该现象的场合大概像下面样子,即先使能...
- 2021-12-31 07:20zhuzhu、的博客 GD32直接使用HAL库(CubeMX生成代码)编程 本文章参考以下文章: 无。 一、使用背景 由于最近芯片价格高涨,STM32出现高价格与缺货的囧况。 https://baijiahao.baidu.com/s?id=1709133215644206348&wfr=...
- 2025-04-06 13:25charlie114514191的博客 在之前,我们就详细的讨论过了最简单的GPIO设备的驱动和使用,但是如你所见,这些调用都是同步,即我们程序主动的去设置和读取GPIO的状态。这很正常——我们只有在想要主动出击的时候,比如说点亮LED电平,查询按钮...
- 2022-10-30 15:42牛牛ly的博客 /* 复位所有外设,初始化Flash接口和系统滴答定时器 */ HAL_Init(); /* 配置系统时钟 */ SystemClock_Config(); /* 初始化串口并配置串口中断优先级 */ MX_DEBUG_USART_Init(); KEY_GPIO_Init(); while(1) { if...
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司