如何在VSCode搭建ESP-IDF开发ESP32

文章目录

    • 概要
    • 安装VScode
    • 安装ESP-IDF插件
    • 使用官方例程
    • 小结

概要

ESP-IDF(Espressif IoT Development Framework) 即乐鑫物联网开发框架,它基于 C/C++ 语言提供了一个自给自足的 SDK,可为在 Windows、Linux 和 macOS 系统平台上开发 ESP32 应用程序提供工具链、API、组件和工作流程的支持。
ESP-IDF 集成了大量的软件组件,包括 RTOS、外设驱动程序、网络栈、多种协议实现技术以及常见应用程序的使用助手。它提供了典型应用程序所需的大部分构建块,用户在开发应用时只需专注于业务逻辑即可。 ESP-IDF 不仅具有免费开源的开发工具,还支持 EclipseVSCode 等 IDE,确保其易于开发人员使用。
在这里插入图片描述
ESP-IDF 提供详尽的软件组件使用和设计文档,有助于开发人员充分理解 ESP-IDF 功能,并从中挑选最适合构建其应用程序的模块。ESP-IDF 包含 100 多个示例,详细说明了其组件及硬件外设的功能和用法。它们经过了严格的测试和维护,是用户开启应用开发的有效参考。
在这里插入图片描述

安装VScode

1.打开VSCode官网的下载页面,选择自己电脑对应系统和系统位数进行下载
在这里插入图片描述
2.运行安装包后,其余均可以默认安装,但这里为了后续的体验建议,建议在此处勾选框中的1、2、3项
在这里插入图片描述
第一二项开启后,可以直接通过鼠标右键文件或者目录打开VSCode,可以提高后续的使用体验.
第三项开启后,选择打开方式时,可以直接选择VSCode

安装ESP-IDF插件

1.打开VSCode,使用快捷键Shift+Ctrl+X,进入插件管理器
2.在搜索栏中,输入Espressif IDF,选择对应的插件点击 install即可
在这里插入图片描述
3.使用快捷键F1,输入esp-idf: configure esp-idf extension
在这里插入图片描述
4.选择express
在这里插入图片描述
5.打开后显示该界面
在这里插入图片描述
6.选择下载服务器,推荐国内用户使用Espressif
在这里插入图片描述
7.选择ESP-IDF版本,选择最新的V5.0.1(注意ESP-IDF从V4.4版本后才开始支持ESP32-S3)
在这里插入图片描述
8.下面两个分别为ESP-IDF容器安装地址和ESP-IDF所需的工具安装地址,注意:如果之前有安装过ESP-IDF,或者失败过的,请务必彻底删除文件或者创建全新的无中文路径
在这里插入图片描述
9.配置完成后,点击 install 进行下载
在这里插入图片描述
10.进入下载页面,其会自动安装对应工具与环境,稍等片刻即可,安装完成后,会进入以下界面,说明安装完成
在这里插入图片描述

使用官方例程

ESP官方为我们提供大量的例程,详细使用请打开ESP-IDF 编程指南
创建例程:
1.使用快捷键F1,输入esp-idf:show examples projects
在这里插入图片描述2.选择你当前的IDF版本
在这里插入图片描述
3.以Hello world例程为例
在这里插入图片描述
4.①选择对应例程
5.②其readme会说明该例程适用于什么芯片(下文有介绍例程怎么使用与文件结构,这里略)
6.③点击创建例程
7.选择放置例程的路径,要求无例程同名文件夹
修改COM口
1.此处显示使用对应的COM口,点击可以修改对应COM口
在这里插入图片描述
2.提前安装好自己的ESP32开发板的USB转串口驱动,请根据自己ESP32开发板选择对应的COM口
在这里插入图片描述

3.选择使用的工程或者例程
在这里插入图片描述
4.然后我们的COM口就修改好了
修改驱动对象
1.此处显示的是使用的驱动对象,点击可以修改对应驱动对象
在这里插入图片描述
2.选择使用的工程或者例程
在这里插入图片描述
3.点击后需要稍等片刻
在这里插入图片描述
4.选择我们需要驱动的对象,也就是我们的开发板主芯片,这里使用的是ESP32S3
在这里插入图片描述
5.选择openocd的路径,这里对我们没有影响,所以我们随便选择一个即可
在这里插入图片描述
其余状态栏简介
在这里插入图片描述
①SDK 配置编辑器,ESP-IDF很多功能与配置可以在其内修改
②全部清理,清空所有编译文件,
③编译
④当前下载方式,默认为UART
⑤烧录当前固件,请在编译后进行
⑥打开串口监视器,用于查看串口信息
⑦编译,烧录,打开串口监视器 一体按键(调试时最常用)
编译、烧录、串口监视
1.根据自己的开饭硬件设置使开发板处于串口下载模式,有些开发版有自动下载功能不需要进行什么设置,再点击我们之前介绍的 编译,烧录,打开串口监视器一体按键
在这里插入图片描述
2.编译可能需要较长时间才能完成,尤其是在第一次编译时。
3.在此过程中,ESP-IDF可能会占用大量CPU资源,因此可能会导致系统卡顿。
4.下载成功后,自动进入串口监视器,可以看到芯片输出对应的信息并提示10S后重启。
在这里插入图片描述

小结

至此我们完成了VScode上通过安装ESP-IDF插件进行ESP32的开发,VScode上还可以通过安装PlatformiIO插件进行ESP32的开发,当然ESP-IDF也可单独安装在Windows系统开发ESP32。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

旅游平台网页前后端

功能清单 游客功能 用户注册、登录登录权限拦截按名称搜索房间支付流程查看订单信息和状态评论预定过的房间,并自动修改订单状态查看统计剩余房间数量,数量为0时不可预定 管理员功能 房间分类管理 类型的删除、修改、查询(准备添加增添功能…

3D展2D数学原理

今年早些时候,我为 MAKE 杂志写了一篇教程,介绍如何制作视频游戏角色的毛绒动物。 该技术采用给定的角色 3D 模型及其纹理,并以编程方式生成缝纫图案。 虽然我已经编写了一般摘要并将源代码上传到 GitHub,但我在这里编写了对使这一…

【大数据面试知识点】Spark的DAGScheduler

Spark数据本地化是在哪个阶段计算首选位置的? 先看一下DAGScheduler的注释,可以看到DAGScheduler除了Stage和Task的划分外,还做了缓存的跟踪和首选运行位置的计算。 DAGScheduler注释: The high-level scheduling layer that i…

深度学习核心技术与实践之自然语言处理篇

非书中全部内容,只是写了些自认为有收获的部分。 自然语言处理简介 NLP的难点 (1)语言有很多复杂的情况,比如歧义、省略、指代、重复、更正、倒序、反语等 (2)歧义至少有如下几种: …

策略模式示例,Lambda表达式

这样会有很多代码冗余 以上代码使用策略模式优化 优化方案1 那么现在可以这样 优化方案二 原先定义了接口,还需要一个个写实现类,其实完全没必要,用匿名内部类方式就可以 优化方案三:用lambda方式简写 优化方案四:不需要定义接口 使用Stream API

从0到1浅析Redis服务器反弹Shell那些事

文章目录 前言Redis服务1.1 特点与应用1.2 安装与使用1.3 语法和配置1.4 未授权访问 反弹Shell2.1 Web服务写入Webshell2.2 Linux定时任务反弹shell2.3 /etc/profile.d->反弹shell2.4 写入ssh公钥登录服务器2.5 利用Redis主从复制RCE2.6 SSRF漏洞组合拳->RCE 总结 前言 …

SDG大数据平台简介

联合国可持续发展目标(Sustainable Development Goals)缩写SDGs,是联合国制定的17个全球发展目标,在2000-2015年千年发展目标(MDGs)到期之后继续指导2015-2030年的全球发展工作。(摘自百度&…

Windows电脑引导损坏?按照这个教程能修复

前言 Windows系统的引导一般情况下是不会坏的,小伙伴们可以不用担心。发布这个帖子是因为要给接下来的文章做点铺垫。 关注小白很久的小伙伴应该都知道,小白的文章都讲得比较细。而且文章与文章之间的关联度其实还是蛮高的。在文章中,你会遇…

AI-ChatGPTCopilot

ChatGPT chatGPT免费网站列表:GitHub - LiLittleCat/awesome-free-chatgpt: 🆓免费的 ChatGPT 镜像网站列表,持续更新。List of free ChatGPT mirror sites, continuously updated. Copilot 智能生成代码工具 安装步骤 - 登录 github&am…

微信小程序自定义步骤条效果

微信小程序自定义一个步骤条组件,自定义文字在下面,已完成和未完成和当前进度都不一样的样式,可点击上一步和下一步切换流程状态,效果如下。 这是视频效果: 前端实现步骤条效果 下面我们一步步实现编码,自定…

Spring Cloud + Vue前后端分离-第10章 基于阿里云OSS的文件上传

源代码在GitHub - 629y/course: Spring Cloud Vue前后端分离-在线课程 Spring Cloud Vue前后端分离-第10章 基于阿里云OSS的文件上传 前面介绍的文件上传是基于本地文件服务器的文件上传,但是自己搭文件服务器会有很多运维的问题,比如磁盘满了要扩容…

无监督关键词提取算法:TF-IDF、TextRank、RAKE、YAKE、 keyBERT

TF-IDF TF-IDF是一种经典的基于统计的方法,TF(Term frequency)是指一个单词在一个文档中出现的次数,通常一个单词在一个文档中出现的次数越多说明该词越重要。IDF(Inverse document frequency)是所有文档数比上出现某单词的个数,通常一个单词…

【C++杂货铺】C++11新特性——可变参数模板

文章目录 一、可变模板参数相关概念的引入二、获取参数包中参数的个数三、递归函数方式展开参数包四、逗号表达式展开参数包五、可变模板参数的实际应用——emplace相关接口5.1 回顾一下 push_back 的三种用法5.2 emplace_back 使用方法介绍5.3 听说 emplace_back 可以提高效率…

0101包冲突导致安装docker失败-docker-云原生

文章目录 1 前言2 报错3 解决结语 1 前言 最近在学习k8s,前置条件就是要安装指定版本的docker,命令如下 yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.62 报错 file /usr/libexec/docker/cli-plugins/docker-buildx fr…

云原生|对象存储|minio分布式集群的搭建和初步使用(可用于生产)

前言: minio作为轻量级的对象存储服务安装还是比较简单的,但分布式集群可以大大提高存储的安全性,可靠性。分布式集群是在单实例的基础上扩展而来的 minio的分布式集群有如下要求: 所有运行分布式 MinIO 的节点需要具有相同的访…

【小沐学NLP】Python实现K-Means聚类算法(nltk、sklearn)

文章目录 1、简介1.1 机器学习1.2 K 均值聚类1.2.1 聚类定义1.2.2 K-Means定义1.2.3 K-Means优缺点1.2.4 K-Means算法步骤 2、测试2.1 K-Means(Python)2.2 K-Means(Sklearn)2.2.1 例子1:数组分类2.2.2 例子2&#xff1…

简写英语单词

题目: 思路: 这段代码的主要思路是读取一个字符串,然后将其中每个单词的首字母大写输出。具体来说,程序首先使用 fgets 函数读取一个字符串,然后遍历该字符串中的每个字符。当程序遇到一个字母时,如果此时…

职场小白培养项目管理能力的6个小技巧

有很多职场新人会碰到这样一个场景:入职一段时间,领导突然将一个重要项目的其中一个模块分配给你负责,但你之前并没有接触过任何项目。 这时你可能会焦躁无措,不知如何往下规划和开展工作,在推进一段时间后领导开始时…

消息中间件常见知识点

一:消息队列的主要作用是什么? 1.消息队列的特性: 业务无关,一个具有普适性质的消息队列组件不需要考虑上层的业务模型,只做好消息的分发就可以了,上层业务的不同模块反而需要依赖消息队列所定义的规范进行…

浅谈Acrel-2000MG微电网能量管理系统在新能源储能行业中的设计与应用-安科瑞 蒋静

概述:在新型电力系统中新能源装机容量逐年提高,但是新能源比如光伏发电、风力发电是不稳定的能源,所以要维持电网稳定,促进新能源发电的消纳,储能将成为至关重要的一环,是分布式光伏、风电等新能源消纳以及电网安全的必…