ESP32开发环境搭建Windows VSCode集成Espressif IDF插件开发环境搭建 IDF_V5.2.1

一、安装Visual Studio Code

下载地址:Download Visual Studio Code - Mac, Linux, Windows

打开上方链接,选择页面中的Windows版本,单击下载

将下载好的VSCodeUserSetup-x64-1.89.1.exe。单击右键,选择以管理员身份运行,开始安装

在安装界面中勾选 我同意此协议 然后单击 下一步 按钮。

在接下来的界面中,勾选 所有选项 ,然后单击 下一步 按钮

在接下来的界面中,直接单击 安装 按钮

接下来等待安装完成

安装完成,单击完成按钮

二、Visual Studio Code设置中文

同时按Ctrl + Shift + X 快捷键
在左侧“扩展”视图文本框中输入“Language Packs”,找到Chinese 中文插件,单击绿色的Install安装按钮,这里我们安装的是中文简体,安装完成右下角弹出一个重启按钮,点击重启,语言自动切换

三、安装C/C++扩展

同样的方式搜索C/C++,安装C/C++扩展来支持C语言代码高亮

四、打开ESP32工程

方式一

VSCode中打开ESP32的代码工程,可以直接打开代码所在的文件夹即可,文件菜单选择打开文件夹,选择一个源码目录打开

方式二

直接在工程文件夹下单击右键,选择 通过Code打开

打开后的文件结构

 五、安装Espressif IDF插件

在VSCode扩展插件中搜索 ESP,找到ESP-IDF,单击安装按钮

等待插件安装完成后,在VSCode中使用快捷键:Ctrl + Shift + P调出VSCode的命令面板,并输入“ESP Welcome”,单击ESP-IDF:Welcome。打开ESP配置页面

在页面中单击 Configure extension 配置扩展按钮

选择设置为全局 Global 然后选择 EXPRESS 开始配置

1、在此页面中选择ESP服务器为 Espressif

2、选择ESP-IDF版本为最新发行版  V5.2.1(release version) 

3、选择你的本地IDF库安装目录:F:\ESP32\Espressif 

4、选择你的本地IDF库工具安装目录:F:\ESP32\Espressif

F:\ESP32\Espressif 是我自己创建好的目录,第三个目录会自动在后面添加\esp-idf目录 ,所以3和4这里填写同一个目录即可。建议不要使用C盘,尽量挑大一点的磁盘。

确保目录正确且都存在,然后单击页面右下角的 Install 安装按钮

这里要安装非常久,耐心等待。

接出现如下界面,提示:Visual Studio代码的ESP-IDF扩展 所有设置都已配置。你可以关闭这个窗口。

四、Espressif IDF插件使用

依照上图Espressif IDF插件基本菜单一共12个,常用的只有两三个,依次为

1、选择串口(插头):即连接开发板的下载串口号,VS会列出当前连接电脑的所有串口让你选择,这个会记录,再新打开VSCode不用重新选择,开发过程中尽量不要更换USB线的电脑插口,否则串口号会变。

2、选择目标芯片:对应idf命令idf.py set-target xxxx。即你当前这个工程是要下载到什么芯片上面,如ESP32 S2,S3,C2,C3等等,工程要与芯片相匹配,这个选择是写入当前工程配置的,一般不用更改,工程下配置文件基本已经选择好的。

3、选择当前工程目录(文件夹):也不用修改,一般打开工程时会默认操作都在这个工程目录下

4、工程配置菜单(齿轮):对应idf命令idf.py menuconifg,用来配置当前工程的一些设置,配置项非常多,建议使用到再修改。一般代码工程都是配置好的,且不用修改

5、清除工程(垃圾桶):清除工程编译文件,一般用于压缩拷贝工程文件时用到,清除后工程目录占用空间会占用非常小,KB级,编译后为百MB级,还有一些编译过程中奇奇怪怪的问题也可以先清除编译后再编译

6、编译工程(圆柱体):编译当前工程,只是编译,没有下载功能

7、选择下载模式(五角星):一般都是选择串口UART方式下载

8、下载(闪电):下载编译好的固件到设备芯片上,这里只是下载,没有编译功能,修改代码后要先编译再点这个下载,所做的修改才有效。

9、串口监控(小电视):打开与设备连接的串口,打印设备串口信息

10、编译/下载/监控(一团火):最常用的一个,它将编译下载和打开串口监控做在了一起,点一次全部搞定

11、打开命令行:打开命令行窗口,且会定位在当前项目路径下,可以执行idf的一些命令

12、执行自定义任务:不使用

五、头文件包含、无法跳转、波浪线问题解决

打开ESP32工程头文件波浪线不能跳转,并且提示“在browse.path中未找到包含文件”等等引用错误提示。

1、按前面的四步安装配置好IDF插件后,删除源码目录中 <.vscode>文件夹。

2、在VSCode中使用快捷键: Ctrl + Shift + P 调出VSCode的命令面板,并输入查找“添加”,选择 添加 vscode配置文件夹

选择“ESP-IDF:添加 vscode 配置文件夹”,VSCode 会自动在源码目录下的<.vscode>文件夹中生成对应的配置文件,对应的红色波浪线也消失了,按住Ctrl 键用鼠标单击你想查看的头文件或函数,就可以跳转了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/634584.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络安全之BGP详解

BGP&#xff1b;边界网关协议 使用范围&#xff1b;BGP范围&#xff0c;在AS之间使用的协议。 协议的特点&#xff08;算法&#xff09;&#xff1a;路径矢量型&#xff0c;没有算法。 协议是否传递网络掩码&#xff1a;传递网络掩码&#xff0c;支持VLSM&#xff0c;CIDR …

【制作100个unity游戏之26】unity2d横版卷轴动作类游戏7(附带项目源码)

最终效果 系列导航 文章目录 最终效果系列导航前言血条 能量条UI配置画布绘制血条 能量条UI 头像框 延迟虚血源码参考完结 前言 欢迎来到【制作100个Unity游戏】系列&#xff01;本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第26篇中&#xff0c;我们将探索…

ESP8266 作为客户端 透传的实验

配置流程 1.配置WIFI模式 ATCWMODE1 配置成Station模式 2.完成配置后重启 ATRST 重启 3.连接路由器 ATCWJAP“777”,“123456lzg” 连接wifi 4.配置单路连接模式 ATCIPMUX0 5.开启透传模式 ATCIPMODE1 6.建立TCP连接 ATCIPSTART“TCP”,“172.20.10.10”,8081 //注意服务器和es…

鸿蒙OS开发:【一次开发,多端部署】(典型布局场景)

典型布局场景 虽然不同应用的页面千变万化&#xff0c;但对其进行拆分和分析&#xff0c;页面中的很多布局场景是相似的。本小节将介绍如何借助自适应布局、响应式布局以及常见的容器类组件&#xff0c;实现应用中的典型布局场景。 布局场景实现方案 开发前请熟悉鸿蒙开发指导…

[机器学习聚类算法实战-1] | Scikit-Learn工具包进阶指南:机器学习聚类算法之层次聚类、特征集聚、均值移位聚类、k-均值聚类实战分析

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

面试八股之线程篇2.7——线程中的并发锁篇——死锁与并发程序的问题

文章目录 2.6 synchronized和Lock有什么区别 ?2.7 死锁产生的条件是什么&#xff1f;2.8 如何进行死锁诊断&#xff1f;2.10 ConcurrentHashMap&#xff08;1&#xff09; JDK1.7中concurrentHashMap&#xff08;2&#xff09; JDK1.8中concurrentHashMap 2.11 导致并发程序出…

如何将Docker容器打包并在其他服务器上运行

如何将Docker容器打包并在其他服务器上运行 我会幻想很多次我们的相遇&#xff0c;你穿着合身的T恤&#xff0c;一个素色的外套&#xff0c;搭配一条蓝色的牛仔裤&#xff0c;干净的像那天空中的云朵&#xff0c;而我&#xff0c;还是一个的傻傻的少年&#xff0c;我们相识而笑…

洗地机品牌哪个牌子好?实力派洗地机品牌TOP10榜单

洗地机依靠其洗、拖、吸、烘为一体的功能&#xff0c;能高效的完成地面清洁的工作&#xff0c;深受大家的喜爱。但是洗地机的型号越来越多&#xff0c;功能也越来越多&#xff0c;对于不想花大价钱&#xff0c;又想要高性价比的精致人群来说实在不友好&#xff0c;所以笔者今天…

QMT如何编写策略获取沪深指数数据?(附开通QMT全攻略)

获取指数代码列表 提示 为了获取指数合约列表,首先需要使用函数get_sector_list来获取需要查询的指数索引。具体的索引信息可以通过键入您感兴趣的索引名&#xff08;例如&#xff1a;"沪深指数"或"上证指数"&#xff09;等获得。接下来&#xff0c;通过…

《Effective Objective-C 2.0》读书笔记——对象、消息、运行期

目录 第二章&#xff1a;对象、消息、运行期第6条&#xff1a;理解“属性”这一概念第7条&#xff1a;在对象内部尽量直接访问实例变量第8条&#xff1a;理解“对象等同性”这一概念第9条&#xff1a;以“类族模式”隐藏实现细节第10条&#xff1a;在既有类中使用关联对象存放自…

域内 dcsync 权限维持

一、原理 DCSync 是域渗透中经常会用到的技术&#xff0c;其被整合在了 Mimikatz 中。在 DCSync 功能出现之前&#xff0c;要想获得域用户的哈希&#xff0c;需要登录域控制器&#xff0c;在域控制器上执行代码才能获得域用户的哈希。 Mimikatz的DCSync 功能&#xff1a; 该…

ubuntu20.04安装cmake3.22.1

背景 由于第一套上位机windows clion22 嵌入式ubuntu20.04的开发环境中&#xff0c;ubuntu20.04上安装的是cmake3.22.1, 为了保持一致&#xff0c;需要指定安装的cmake版本。 下载指定版本的cmake 进入cmake官网的download页面&#xff0c;https://cmake.org/download/&…

嵌入式学习——3——TCP-UDP 数据交互,握手,挥手

1、更新源 cd /etc/apt/ sudo cp sources.list sources.list.save 将原镜像备份 sudo vim sources.list 将原镜像修改成阿里源/清华源&#xff0c;如所述 阿里源 deb http://mirrors.aliyun.com/ubuntu/ bionic main …

建站平台布局结构

建站平台布局结构对于网站的成功至关重要。一个良好的布局结构能够有效地吸引用户&#xff0c;提升用户体验&#xff0c;并且有助于网站的搜索引擎优化&#xff08;SEO&#xff09;。在设计网站布局结构时&#xff0c;需要考虑到用户导航、信息层次结构、页面加载速度等方面&am…

跨境小白shopee被封号的原因?如何有效预防?

提到跨境电商平台&#xff0c;大家都知道亚马逊、Temu、TikTok shop这些是比较大的电商平台。但最近几年&#xff0c;在东南亚市场上&#xff0c;Shopee虾皮却是颇负盛名的一个跨境电商平台&#xff0c;这也让众多中国跨境小白蜂拥而至。目前shopee的商家正在不断增多&#xff…

基于Vue的验证码实现

一、验证码核心实现 创建slide-verify.vue&#xff0c;代码如下&#xff1a; <template><divclass"slide-verify":style"{ width: w px }"id"slideVerify"onselectstart"return false;"><!-- 图片加载遮蔽罩 -->&…

全面了解CC攻击和防范策略

前言 “ CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽&#xff0c;一直到宕机崩溃。” 什么是CC攻击&#xff1f; CC攻击前身是一个名为Fatboy的攻击程序&#xff0c;而之所以后来人们会称之为CC&#xff0c;也叫HTTP-FLOOD&#xff…

modbus开源库libmodbus的C语言使用记录(实现简单的modbus主机/丛机程序,解决libmodbus库安装出现的问题)

libmodbus简介 libmodbus 是一个开源的、跨平台的C库,用于实现Modbus通讯协议。它支持Modbus RTU(RS-232/485)和Modbus TCP协议,可以使开发者方便地在项目中集成Modbus通讯功能。libmodbus的设计目标是简单、灵活和高效,适用于各种大小的嵌入式和桌面应用。 编译运行测试…

Orca: FSS-based Secure Training and Inference with GPUs

目录 1.Abstract2.Accelerating FSS on a GPU2.1 Accelerating FSS-based compute on GPU2.1.1 Faster AES computation (AES)2.1.2 Optimized data layout for cache locality (LAYOUT)2.1.3 Optimizing memory footprint (MEM) 2.2 Reducing time to read FSS keys2.2.1 Bypa…

计算机图形学入门games103——碰撞检测

一.怎么发现碰撞&#xff0c;有没有碰撞 碰撞最难的是布料的碰撞 碰撞检测分为两个部分&#xff1a; 第一阶段&#xff1a;去除不可能发生碰撞的元素&#xff0c;输出的就是可能碰撞的备选目标&#xff0c;这阶段叫做碰撞剔除 这常用的套路有两种&#xff1a;第一种是Spati…