__weak uint32_t HAL_GetTick(void)卡死
时间: 2024-02-01 19:03:53 浏览: 462
根据引用\[1\]和引用\[3\]的代码,可以看出HAL_GetTick()函数是用来获取系统时钟的函数。它通过返回变量uwTick的值来表示经过的时间。在HAL_Delay()函数中,会调用HAL_GetTick()函数来获取当前的系统时钟,并通过比较当前时钟与起始时钟的差值来实现延时功能。根据引用\[2\]的代码,可以看出在延时期间,会不断地调用HAL_GetTick()函数来判断是否达到延时的时间。如果HAL_GetTick()函数卡死,可能是由于uwTick变量没有被正确更新导致的。这可能是由于uwTick变量没有被正确地增加,或者在增加uwTick变量时发生了错误。为了解决这个问题,可以检查HAL_IncTick()函数的实现,确保uwTick变量被正确地增加。另外,还可以检查系统时钟的配置是否正确,以及时钟中断是否正常工作。
#### 引用[.reference_title]
- *1* [STM32+Cube MX使用MPU6050 DMP时,在外部中断中调用read_dmp函数发生系统卡死问题的根本原因分析](https://blog.csdn.net/phmatthaus/article/details/120749696)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [关于STM32的HAL库中超时函数中的tick溢出后产生的问题的思考及求证](https://blog.csdn.net/eibo51/article/details/53615060)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [用STM32开发小记及排坑小记](https://blog.csdn.net/qq515973568/article/details/122208017)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文