[STM32F4] 将 TIM2 用于 μs 测量与 FreeRTOS 结合使用会导致 HardFault_Handler

[复制链接]
 楼主| 地瓜patch 发表于 2025-5-29 21:55 | 显示全部楼层 |阅读模式
在stm32f407使用了 FreeRTOS 并将 TIM6 分配为时基。创建了一个任务来测试用于时间测量的基本 scoped timer。
ScopedTimer 使用 TIM2 进行测量。TIM2分频系数设置为 170,其重载值设置为 0xffffffff。
运行正常
46729683866a3c1809.png
当我从任务中进行 ADC1 读取值,并将其存储在数组中。此时程序硬件错误。
558416838670ccbc6e.png
ScopedTimer 函数被调用一次。在此之后,该任务将不再被调用。
逐步调试时最终进入 TIM6 (Timebase Timer) 的 HAL_TIM_IRQHandler 中,此时不会返回到任务代码。



烟雨蒙蒙520 发表于 2025-5-31 23:07 | 显示全部楼层
如果你不慎启用了 TIM2_IRQn,中断没被正确清除,HAL_TIM_IRQHandler() 会一直被调用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:出一块TI-PLABS-AMP-EVM

1809

主题

14853

帖子

29

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:出一块TI-PLABS-AMP-EVM

1809

主题

14853

帖子

29

粉丝
快速回复 在线客服 返回列表 返回顶部