解决VSCode在STM32开发中使用Keil5时找不到头文件的问题
刚上研究生,在写嵌入式程序过程中总是被旁边cs专业的同门吐槽keil5界面难看,遂研究用vscode联合keil5开发单片机,不得不说,vscode写起代码确实顺手不少,代码自动补全和ai功能也让开发效率提升很多,如何在vscode中配置适用于嵌入式开发的环境教程已经非常多,这里不再赘述,但是在导入工程之后遇到了如下图所示的情况,无法打开stm32f10x.h源文件:
找了网上很多资料都没有很好地解决,包括修改c/c++配置路径、修改json文件、换别的嵌入式开发插件等,我甚至直接把stm32f10x.h粘贴到main.c文件夹中仍然会报一堆错误,在苦苦求索一下午之后终于发现了问题所在,如果你和我之前一样创建keil5工程时用其自带的Manage run-time environment导入库函数。如下图:
工程栏长这样:
这样的工程在导入到vscode中就会报错,找不到头文件。这种创建工程的方式比较方便但只适合自己开发,别人在拿到这样的工程文件夹有可能会用不了,因为没有在keil中正确设置和包含库函数以及头文件(这种创建工程的方法当时是学校老师教我们的,可能是比较官方?)后来自学的时候发现网上创建工程时都跳过了Manage run-time environment的配置,直接将相关的库函数,启动文件等只读文件全部复制到了工程文件夹里,具体的步骤可以搜江科大的stm32教程,这样做工程栏大概长这样:
所有不需要修改的只读文件放在start和library文件夹里了,同时也没有绿色的CMSIS和Device了,这种工程导入vscode时就不会报错出现找不到头文件的问题了~
作者:baconscsdn