【发布时间】:2023-04-09 16:45:01
【问题描述】:
我目前正在使用现有代码库开发一个项目,其中 HAL_GetTick() 在某些地方有效,但是当我尝试在其他文件中调用该函数时,它返回 0。 HAL_Delay() 出于某种原因确实有效。
我是否遗漏了一些明显的东西?
【问题讨论】:
-
做你的功课:使用调试器,放置断点,比较工作代码和非工作代码。
HAL_getTick可能使用 SysTick。您是否检查过 SysTick 是否已启用? -
我正在使用黑盒系统,我无法在任何我想要的地方放置断点。我检查了 SysTick,它似乎工作正常。
-
你写了“我在其他文件中调用函数”:不就是C文件调用C函数吗?
-
HAL_GetTick 什么都不做,只是返回一个在 SysTick 处理程序中递增的全局变量。检查您的 vectot 表,确保为 Systick 处理程序设置了正确的 HAL 功能,并且 systick 已很好地启用。
标签: stm32 hal stm32cubeide