STM32CubeMX生成F1的工程中提示找不到 __HAL_TIM_SetCompare 问题的解决方案

1. 问题描述

在用STM32CubeMX生成 STM32F103C8T6 的MDK工程后,在main.c中更改定时器占空比计数值的时候,报错:

总之就是HAL库内部API函数__HAL_TIM_SetCompare找不到。

2. 解决方案

经过搜索,该函数在stm32_hal_legacy.h文件中:

所以出错原因肯定是:调用此函数的时候没有包含进来这个头文件,再次通过文件名查找:

果然,包含此头文件需要定义宏USE_HAL_LEGACY

在它前面define一下:

重新编译,问题解决成功!

这样添加之后,重新使用STM32CubeMX生成工程后,代码会被自动覆盖,需要重新添加!

接收更多精彩文章及资源推送,欢迎订阅我的微信公众号:『mculover666』。

发布了256 篇原创文章 · 获赞 654 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/Mculover666/article/details/104801386