这是一个困扰我一早上的问题,我使用stmcubemx用HAL库开发,然后将代码导入到Keil5软件,现在出现了一个问题,就是在代码编辑界面报错显示"stm32f1xx_hal.h" nofind,但是代码编译反而不会报错,烧入代码到单片机也能正常运行,这样导致的后果是我输入stm32f1xx_hal.h相关函数它不会帮我代码补齐。。。。。
找了很多文章都没能解决,最后是尝试把头文件放到新建user目录下,新增路径解决这个问题。。。。。
需要手动在 Keil 中改变头文件路径:
步骤如下:
-
打开你的 Keil 工程。
-
点击菜单栏的 "Project" → "Options for Target 'xxx'"。
-
在弹出的对话框中,切换到 C/C++ 选项卡。
-
在 Include Paths(包含路径) 中添加如下路径(具体路径按你的工程结构调整)
比如,这是我的路径
其中关键的问题所在,
../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy 在前面,
../Drivers/STM32F1xx_HAL_Driver/Inc在后面,导致没有
编译../Drivers/STM32F1xx_HAL_Driver/Inc
所以要改成我这样
这样就不会报错了
问题依旧出现在路径顺序上,这其实是因为 Keil 编辑器的智能补全系统不是编译器,不是找不到目标文件才报错,而是路径链断了就认定失败。
-------------> 如果能解决你的问题,希望能来个小小的赞哈,谢谢啦