【嵌入式】Arduino IDE + ESP32开发环境配置

一 背景说明

        最近想捣鼓一下ESP32的集成芯片,比较了一下,选择Arduino IDE并添加ESP32支持库的方式来开发,下面记录一下安装过程以及安装过程中遇到的坑。

二 下载准备

【1】Arduino IDE + ESP32支持一键安装包(非常推荐):Arduino中文社区

【2】官方最新版Arduino IDE(不太推荐最新版的IDE,可能与有些库不兼容):Software | Arduino

【3】官方最新版ESP32库(同样不太推荐最新版的库,可能与IDE不兼容):GitCode - 开发者的代码家园

三 正式安装

       参考  Arduino IDE安装esp32 SDK(Windows)安装方法 :

【1】安装IDE:

        下Arduino IDE 2.2.1 版本并安装(不太推荐最新版本的IDE,踩到的坑和解决办法后面详述)。这个过程中选择默认或者自定义的安装地址均可(注意不要有中文路径),另外提示的驱动之类需要全部安装上。

【2】修改中文并添加附加开发板地址:

        打开Arduino IDE菜单 > 文件 >首选项 >编辑器语言 >中文(简体);

        打开Arduino IDE菜单 > 文件 >首选项,在 附加开发板管理器网址输入框中,填入以下网址:

https://arduino.me/packages/esp32.json

【3】安装社区离线包:

        先关闭Anduino IDE,再使用下载好的esp32安装包,直接运行,程序会自动解压到相应位置(我这边使用的是ESP32 2.0.9版本)。

        解压完成后,重启Arduino IDE,即可在 菜单栏>工具>开发板 中找到你使用的esp32开发板。

三 代码编译

【1】菜单栏>工具>开发板 中选择使用的开发板;

【2】菜单栏>文件>示例 中选择需要测试的例程;

【3】菜单栏>项目>验证/编译 中编译,并可以将编译好的文件,通过串口烧录到指定开发板中:

        至此安装编译完成。

四 遇到的坑

【1】方法一(失败原因:下载极慢,中间报错):一开始安装的时候,使用官网下载的最新IDE,通过IDE中 菜单栏>工具>开发板 直接搜索esp32 by Espressif 并下载。由于没有科学上网,下载速度极慢,而且在下到第五个包的时候报错失败。这种方式对于不能科学上网的同学不推荐。

【2】方法二(失败原因:能够安装看到开发板内容,但是例程编译失败,怀疑版本不兼容):IDE不变,继续寻求其他安装方法。下载前文“下载准备”中的【3】官方最新的ESP32库,下载下来之后,参考ESP32的arduino开发环境搭建_arduino-esp32-master.zip-CSDN博客中的方法,安装成功,但是随便选了一个例程之后编译失败。怀疑问题在于最新版的IDE(一开始用的是2.3.2)与最新的ESP32库不兼容。遂选择回退IDE与ESP32的版本,用上面正文中的方法安装编译成功。

【3】回退IDE版本: 参考 完全卸载Arduino IDE_arduino卸载不干净-CSDN博客 ,先把之前版本的 Anduino IDE 卸载干净。其中主要关注以下三个路径内容有没有清空干净:

(i)Anduino IDE安装路径;(正常卸载之后即可清空)

(ii)C:\Users\(你的用户名)\Documents\Arduino;

(iii)C:\Users\(你的用户名)\AppData\Local\Arduino15;(AppData为隐藏文件夹,需要在查看中勾选“隐藏的项目”才能进入)

        完全卸载之前版本之后,再重新安装需要回退的版本即可。

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

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

相关文章

如何将web content项目导入idea并部署到tomcat

将Web Content项目导入IntelliJ IDEA并部署到Tomcat主要涉及以下几个步骤: 1. 导入Web Content项目 打开IntelliJ IDEA。选择“File” -> “New” -> “Project from Existing Sources…”。浏览到你的Web Content项目的文件夹,并选择它。Intell…

Spring的9个核心功能(一)

目录 资源管理 Java资源管理 1、来个Demo 2、原理 Spring资源管理 1、资源抽象 Resource WritableResource 2、资源加载 3、小结 环境 1、Environment 2、配置属性源PropertySource 3、SpringBoot是如何解析配置文件 类型转换 1、类型转换API …

什么是IIoT?

什么是IIoT? IIoT,即工业物联网(Industrial Internet of Things),是指将物联网技术应用到工业领域,通过微型低成本传感器、高带宽无线网络等技术手段,实现工业设备、系统和服务的互联互通,从而提高生产效率、降低能耗和成本,实现智能化和自动化生产。 IIoT的应用范围…

网络安全是否有需求

● 由于网络威胁数量不断增加,网络安全的需求很高。 ● 组织正在大力投资网络安全以保护其数据。 ● 就业市场缺乏熟练的网络安全专业人员。 ● 网络安全认证可以提升您在网络安全领域的职业前景。 ● 持续学习并了解最新的安全趋势在该领域至关重要。 随着对技术和…

vue3去掉el-table底部白色边框

加入下面这一行代码就行了,我用的是less :deep(.el-table__inner-wrapper:before) {background: none;}效果图

使用PyCharm开发工具创建工程

一. 简介 前面文章实现了开发 python程序使用的 开发工具PyCharm,本文来学习使用 PyCharm开发工具创建一个 python工程。 二. 使用PyCharm开发工具创建工程 1. 首先,打开 PyCharm开发工具,打开 "New project" 选项: …

详解数据结构:队列(含栈与队列扩展)

一、顺序队列 有一种线性序列,特点是先进先出,这种存储结构称为队列。队列也是一种线性表,只不过它是操作受限的线性表,只能再两端操作:一端进、一端出。进的一端称为队尾,出的一端称为队头。队列可以用顺…

20240424codeforces刷题题解

240424刷题题解 Walk on Matrix CodeForces - 1332D 思路 构造题,每个 d p i , j dp_{i,j} dpi,j​​​都是由其左上方向中的按位与最大值决定的。 我们需要从使得贪心解与正确解的差值为 k k k。 为了方便获得 k k k,可以考虑构造一个贪心解为 0…

Windows批处理脚本,用于管理Nginx服务器

先看截图: Windows批处理脚本,用于管理Nginx服务器。它提供了启动、重启、关闭Nginx以及刷新控制台等功能。 设置环境变量: set NGINX_PATHD::设置Nginx所在的盘符为D盘。set NGINX_DIRD:\nginx1912\:设置Nginx所在…

HTML5+CSS3小实例:炫彩荧光线条登录框

实例:炫彩荧光线条登录框 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-sca…

每日一题---环形链表的约瑟夫问题

文章目录 前言1.题目2.解题思路2.1创建节点 2.2.创建环形链表2.3.进行遍历 4参考代码 前言 前段时间我们学习到了单链表和双向链表的相关知识&#xff0c;下面我们解决一道具有代表性的一个编程题。 牛客网—环形链表的约瑟夫问题 1.题目 2.解题思路 2.1创建节点 //创建节点…

scratch选择火车下铺 2024年3月中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析

目录 scratch根据身份证号码识别是否优先选择火车下铺 一、题目要求 1、准备工作 2、功能实现 二、案例分析

25计算机考研院校数据分析 | 复旦大学

复旦大学(fudan University)&#xff0c;简称"复旦”&#xff0c;位于中国上海&#xff0c;由中华人民共和国教育部直属&#xff0c;中央直管副部级建制&#xff0c;位列985工程、211工程、双一流A类&#xff0c;入选“珠峰计划"、"111计划""2011计划…

【学习】软件测试自动化,是未来的趋势还是当前的必需

在当今快速迭代的软件开发周期中&#xff0c;速度和质量成为了企业生存的关键。随着DevOps实践的普及和持续集成/持续部署&#xff08;CI/CD&#xff09;流程的标准化&#xff0c;软件测试自动化已经从未来的趋势转变为当前的必要性。本文将探讨自动化测试的现状、必要性以及其…

uniapp 引用组件后 不起作用 无效果 不显示

根据uniapp官方文档easycom组件规范 只要组件安装在项目的components目录下或uni_modules目录下&#xff0c;并符合components/组件名称/组件名称.(vue|uvue)目录结构&#xff08;注意&#xff1a;当同时存在vue和uvue时&#xff0c;uni-app 项目优先使用 vue 文件&#xff0c;…

【C语言__指针02__复习篇12】

目录 前言 一、数组名的理解 二、使用指针访问数组 三、一维数组传参的本质 四、冒泡排序 五、二级指针 六、指针数组 七、指针数组模拟二维数组 前言 本篇主要讨论以下问题&#xff1a; 1. 数组名通常表示什么&#xff0c;有哪两种例外情况&#xff0c;在例外情况中…

我用ADAU1467加5个ADAU1772,做20进10出的音频处理板(七):音量调节的更多例程

作者的话 ADAU1467是现阶段ADI支持最多通道的ADAU音频DSP&#xff0c;他配合外部的AD/DA&#xff0c;可以实现最多32路音频通道&#xff0c;接了一个小项目&#xff0c;我拿它做了一块20进10出的板&#xff0c;10个MIC/LINE输入,10个LINE IN输入&#xff0c;10个HPOUT&#xf…

贪心算法在单位时间任务调度问题中的应用

贪心算法在单位时间任务调度问题中的应用 一、引言二、问题描述与算法设计三、算法证明四、算法实现与效率分析五、C语言实现示例六、结论 一、引言 单位时间任务调度问题是一类经典的优化问题&#xff0c;旨在分配任务到不同的时间槽中&#xff0c;使得某种性能指标达到最优。…

Git和Github绑定

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

Qt 菜单栏上手教程:QMenuBar QMenu QToolbar

引言 在Qt框架中&#xff0c;QMenuBar、QMenu、QToolbar和QAction都是用于构建应用程序界面中的用户交互元素。 QMenuBar 是什么&#xff1a;QMenuBar是一个用于创建横向菜单栏的类。在桌面应用程序中&#xff0c;它通常位于窗口的顶部。应用场景&#xff1a;当您需要一个包含…