ESP-IDF Who驱动官方EYE板例程解报错决办法

本文详细介绍了如何在VSCode中安装和配置ESP-IDF环境,包括选择合适的版本、设置C_cpp_properties.json以及解决常见问题,如报错和无法跳转至函数定义。作者提供了步骤和GitHub库链接以帮助读者顺利进行ESP32-S3开发。
摘要由CSDN通过智能技术生成

必须的环境安装,根据官方来就可以,务必一步不漏!

vscode 安装IDF 教程:

https://github.com/espressif/vscode-esp-idf-extension/blob/master/docs/tutorial/install.md

安装注意可以安装5.0版本,因为5.0适配S3,不必按照其他人说的按照4.xx。

安装配置时,可以看我的配置图片:

下载源选择ESP官方可以不用翻墙。

9edca4c5de604179abb9fed763c44eb1.png

官方教程测试

之后根据官方来就可以。

官方教程测试(务必测试):vscode-esp-idf-extension/docs/tutorial/basic_use.md at master · espressif/vscode-esp-idf-extension · GitHub

国内镜像,自己去gitee搜索,属于espressif

切记务必测试一下idf例程还有别忘了安装esp-idf-extension.vsix,确保无误后在操作。

esp-idf-extension.vsix 下载就在官方教程后面。

87103d3635d549e6a0c19ec5fe841f90.png

esp-idf-extension.vsix安装方法,下载、解压、托进vscode,然后等待,vscode提示,重启vscode,如果失败或者卡顿请重新操作一遍。

----------------------------正文开始!!-----------------------

以下默认认真看过以上官方教程!!!

本文章不是教你1+1=2而是告诉你细节!

所以请看官方教程,先学会数学逻辑和会简单运算

必须看IDF安装、看IDF测试例程!!

其实报错问题很简单,但查了一堆资料、网站,费时3天,我觉得得公开解决办法,又不是高难度,没有必要遮住

直接上解决方法了,如何找例程,who官方网站都有,至于如何使用vscode打开espidf项目,其实直接用vscode打开这个项目文件夹就可以,不用找espidf插件上打开项目选择项,也不必要去新建,直接打开就行。

who官网教程:

esp-who/README_CN.md at master · espressif/esp-who · GitHub

who官网教程(gitee 镜像): esp-who: esp_who (gitee.com)

afe61fb98099471aa3e1dd10f4410417.png

可以看到官方讲了官方开发板+官方示例,只需要两步,经过我测试确实没有问题只不过多二步。

使用官方正常网站也可以,但是github不好拉取,很容易失败,所以提供gitee复制库:

​WHO: esp-who: esp_who (gitee.com)
git clone --recursive https://gitee.com/starry-night_mc/esp-who


​DL: esp-dl: esp-dl (gitee.com)

git clone --recursive esp-dl: esp-dl (gitee.com)

新的方法(通用,推荐方法):

首先拉取Who库或者从Github下载(可以压缩包)

87c4ddded1f4408496af1b6ba1507382.png

然后解压(不用改名,改名原因是因为我看到ESP论坛上讲不可以有-符,但是后面证明肯定可以,否则例程和库为什么起带-名字?)

5c9c369cfb5f4953ba2d86803e0666f2.png

打开这个文件,找到 components 从这里拉取Who的dl子库!

拉取git库,方式:

1. 在这个文件夹打开cmd窗口,输入git命令。

2.下载压缩包解压。

方法1.在这目录替换目录,输入cmd就可以!!

然后开始配置项目:

随便找一个例程打开,例程架构如下所示:

├── examples
│   ├── cat_face_detection          // 猫脸检测示例
│   │   ├── lcd                     // 结果显示方式为 LCD 屏
│   │   └── terminal                // 结果显示方式为终端
│   ├── code_recognition            // 一维码/二维码识别示例
│   ├── human_face_detection        // 人脸检测示例
│   │   ├── lcd
│   │   └── terminal
│   ├── human_face_recognition      // 人脸识别示例
│   │   ├── lcd
│   │   ├── terminal
│   │   └── README.md               // 示例的具体说明
│   └── motion_detection            // 移动侦测示例
│       ├── lcd 
│       ├── terminal
│       ├── web
│       └── README.rst              

打开之后:

选择核心ESP32-S3,com和下载方式,IC弹出选择第一个ESP32-S3,UART就可以走USB

dbe82ddaed5c4b9ba7f6423b6fae9b37.png

之后:

00a8d8eb1d0045a1938aae6be3f77372.png

在复制 测试项目的.vscode,见官方教程- 测试章节,复制这个测试例程中.vscode就可以。

 

或者自己配置(见官方教程-New 项目),根据操让vscode新建这个文件。

e30fc571ef2745238aa9abd9663ae196.png

接下来重点是c_cpp_properties.json文件(使用新的方法):

新的方法直接使用一个目录下面通用库: who和dl,而不是在拉取库文件!!!

     添加(注意逗号!每个字符串后面都有逗号,类似数组):

                “xxxxxxxxxxxxxxxx",

             "D:/esp32S3Eye/espWhoMaster/components/**",

                "D:/esp32S3Eye/espWhoMaster/components/esp-dl/**"

这些  目录的由来(GitHub ),就是本地下载的库。

在最后 重点!

在项目母目录(不是main下,而是项目)里面的 CMakeLists.txt 文件 打开之后:

86ec56a35d6f4b098d3dfb465ba32a93.png

CMakeLists.txt 文件 修改为

2aa4ac050b554ff2b6159a054bd513db.png

# The following lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)


set(EXTRA_COMPONENT_DIRS D:/esp32S3Eye/espWhoMaster/components)

#set(EXTRA_COMPONENT_DIRS ../../../components)
add_compile_options(-fdiagnostics-color=always)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(cat_face_detection_terminal)


这些 D:/esp32S3Eye/espWhoMaster/components 目录的由来(GitHub ),就是本地下载的库。

最后编译、下载监视

(注意别忘了开始选择核心ESP32-S3,弹出选择第一个,UART就可以走USB)

这个方法缺点:

无法转到,函数定义或者声明。

解决方法,把components 文件夹拖进vscode:

注意不是复制!不要选择复制!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星空长夜i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值