一·简介

  本文介绍了ESP32系列在使用VSCODE+ESP-IDF v4.3下,波浪线警告问题的根因和解决办法。 首先介绍了ESP-IDF 与VSCODE的关系,之后介绍了c_cpp_properties.json文件的作用以及配置方法。 

 

二·正文

   1.ESP-IDF与VSCODE 

  目前两种开发ESP32的方式是arduino中安装esp32的支持包,第二种就是使用ESP-IDF开发。第一种方法比较简单容易上手,但是不是使用的纯C,而且较低版本的arduino版本也不支持函数定义查看等骚操作。笔者在使用api时候总是愿意进去看一看他的实现方式。或者再者说一些联想输入等操作也不支持,这就没办法偷懒(逃。。。)而ESP-IDF是乐鑫开发的SDK包及配套的软件。但是缺点是使用命令行操作,很多小伙伴不适应,并且确实每次写很麻烦。所以又推出了VSCODE的一个官方插件如下图 :

esp32 复位函数 esp32报错_esp32 复位函数

 

 

  注意:该插件只是一个接口,实际上无论是你在git上获取ESO-IDF的安装包还是提前下载好ESP-IDF的离线安装包在这里导入。你在写代码,调用编译的时候,还是在使用ESP-IDF那个软件

VSCODE本体只是一个代码编辑器!不是编译器!他的万能是通过添加各种插件实现的!

2.问题现象

esp32 复位函数 esp32报错_esp32 复位函数_02

 

 

   

 

 

这种波浪线就是你的VSCODE找不到对应的文件了。具体的波浪线颜色还有黄色和蓝色。红色是最严重的,他代表直接找不到对应的头文件,无法完成编译。而黄色只是警告你一些联想和查看函数定义等功能不可使用。

实际控制整个工程(VSCODE中称作工作区)的有两部分设置:c_cpp_properties.json文件和【左侧图标栏】-【拓展】-【Espressif-IDF】-【右键】-【拓展设置】-如下两项

esp32 复位函数 esp32报错_绝对路径_03

 

 

  3.路径设置

在你明确的知道自己的路径情况下,你可以选择绝对路径。但是这个工程可能在别的电脑上就会出问题。而如果采用第一列的方式,他就会去调用你win系统的IDF_PATH环境变量。注意他调用的不是第二个哦!笔者的问题就是这里调用了一个不存在的环境变量,结果就找不到结果了。修改方式所以是多样的。你可以在这里设置绝对路径,或者你在这里设置调用系统环境变量。然后去添加一个合适的环境变量的路径值。

如果你不知道如何设置系统的环境变量,请自行百度:)

另外这些如果你都没做,还有一个地方可以进行修改!就是c_cpp_properties.json文件!以我的文件举例

 

esp32 复位函数 esp32报错_绝对路径_04

 

他首先会在你刚才设置的拓展中路径也就是工作区路径下寻找,此外也会在本机设置的环境变量所指的路径下寻找。不过上图写的有一些臃余,其实指向的也是一个地方。

  你设置好各项路径后保存一下,关闭VSCODE再次进入,就会正常了。