ESP32基础知识1:项目工程建立和烧录

news2025/6/3 23:48:24

ESP32基础知识1:项目工程建立和烧录

  • 一、本文内容与前置知识点
    • 1. 本文内容
    • 2. 前置知识点
  • 二、新建工程
    • 1. 工程配置
    • 2. 依照模板建立项目
  • 三、硬件烧录
    • 1. 硬件准备
    • 2. 烧录器和ESP32连接
    • 3. 电脑端设置
    • 4. 烧录成功演示
  • 四、参考文献

一、本文内容与前置知识点

1. 本文内容

介绍ESP32的工程建立和烧录,结果分析。

2. 前置知识点

  1. 学过高级程序语言设计,具备基本数模电知识(不具备也可以)
  2. 配置完成了ESP-IDF的环境搭建,可参考VS Code 快速搭建 ESP-IDF 开发环境

二、新建工程

1. 工程配置

包括目录,芯片型号,烧录方式等。
在这里插入图片描述

2. 依照模板建立项目

初期可以采用ESP32自带的模板进行项目构建,省去了写自己配置cmake和工程文件目录的功夫,此处选用hellow_world来进行工程配置的演示,模板工程中还有很多现成的工程可以使用。
在这里插入图片描述
建立完的工程目录如下所示,可以直接编译看看有没有问题,windows下首次构建时间比较久,建议有条件可以使用Linux。
在这里插入图片描述
构建成功结果如下
在这里插入图片描述

三、硬件烧录

此处以ESP32-WROOM-32D为例子演示接线烧录的方式

1. 硬件准备

(1)供电:USB或电池等
(2)USB转TTL模块,此处采用CH340
(3)ESP32-WROOM-32D

2. 烧录器和ESP32连接

参考数据手册的启动配置项ESP32数据手册

(1)此处使用的是UART/SDIO引脚进行数据烧录,可以看到复位时ESP32会依据GPIO0和GPIO2的的状态来决定当前的ESP32芯片状态。
在这里插入图片描述
(2)官方Stapping的管脚默认值如下,可以看到默认是将程序从flash下载到RAM正常启动,所以在复位前我们需要手动把GPIO0拉低,进入下载模式。
在这里插入图片描述
复位引脚CHIP_PU和Strapping检测的时序图,简单来说就是要保证每次复位前Stapping引脚需要准备好,如果每次烧录前都手动去拉低Strapping和复位,很麻烦。
在这里插入图片描述
USB转TTL模块具备自动复位,然后再烧录时拉低对应引脚的功能,按照如下说明连接即可。
在这里插入图片描述

引脚缩写全称含义
RTSRequest To Send请求发送数据
DTRData Terminal Ready数据终端就绪

烧录时引脚变化顺序如下

在这里插入图片描述

3. 电脑端设置

USB连接到电脑,然后烧录方式选择UART,选择好对应的串口和芯片(此处是ESP32)
在这里插入图片描述
芯片选择的时候会要求选这些东西,算是开发板类型,选择CHIP即可(因为这里用的是CHIP)
在这里插入图片描述

4. 烧录成功演示

由于烧录的是hello world例程,通过点击监视器或者用串口调试软件,可以直观的看到如下打印数据(如果不行记得设置下监视器的波特率)
(1)烧录成功
在这里插入图片描述
(2)监视器的调试信息打印
在这里插入图片描述

四、参考文献

参考数据手册的启动配置项ESP32数据手册

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

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

相关文章

allWebPlugin中间件VLC专用版之录像功能介绍

背景 VLC控件原有接口是不支持录像的,且libVLC提供的接口库,不能获取录像文件完整名称(VLC-3.0.11 录制直播时有的无法保存视频的解决方法 - 1CM - 博客园);因此,非常的不友好。为了能够彻底解决这个问题&a…

Vim 支持多种编程语言编辑器

软件简介 Vim是Vi编辑器的增强版,它提供了更多的功能和快捷键。Vim是一款自由软件,它是由Bram Moolenaar在1991年创建的。Vim支持多种编程语言,包括C、C、Java、Python、Perl等等。它是一款轻量级的编辑器,可以快速打开和编辑大型…

解决 IDEA 在运行时中文乱码问题

直接说解决办法 编译 IDEA 所在目录的启动的 .vmoptions 文件,添加以下JVM 参数即可 -Dfile.encodingUTF-8如下图所示,Help > Edit Custom VM Options,随后在编辑框中添加-Dfile.encodingUTF-8 的 JVM 参数

Diffusion Planner:扩散模型重塑自动驾驶路径规划(ICLR‘25)

1. 概述 2025年2月14日,清华大学AIR智能产业研究院联合毫末智行、中科院自动化所和香港中文大学团队,在ICLR 2025会议上发布了Diffusion Planner——一种创新性的基于Diffusion Transformer的自动驾驶规划模型架构。该系统联合建模周车运动预测与自车行…

华为OD机试真题——阿里巴巴找黄金宝箱 IV(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

2025 A卷 200分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 2025华为OD真题目录+全流程解析/备考攻略/经验分享 华为OD机试真题《阿里巴巴找黄金宝箱 IV》:…

数据结构:时间复杂度(Time Complexity)和空间复杂度(Space Complexity)

目录 什么是时间复杂度? 如何表示时间复杂度? 为什么需要时间复杂度? 用几个例子理解 怎么分析代码的时间复杂度? 什么是空间复杂度? 举例理解 什么是时间复杂度? 时间复杂度是用来衡量一个算法“…

SSL/TLS 协议详解:安全通信的基石

一、概述 SSL(Secure Sockets Layer) 及其继任者 TLS(Transport Layer Security) 是位于 传输层(TCP)与应用层之间 的加密协议,用于在网络通信中实现 机密性、身份认证和数据完整性。 核心目标…

设计模式——外观设计模式(结构型)

摘要 本文介绍了外观设计模式,它是一种结构型设计模式,通过引入一个外观类来封装复杂子系统的调用细节,对外提供简单统一的接口。文中通过生活类比、关键角色介绍、使用场景分析以及结构说明等方面对这一模式进行了全面阐述,还涉…

Linux `vi/vim` 编辑器深度解析与高阶应用指南

Linux `vi/vim` 编辑器深度解析与高阶应用指南 一、核心功能解析1. 模式系统2. 与主流编辑器对比二、核心操作体系1. 高效导航命令2. 文本操作矩阵三、高阶配置体系1. .vimrc 配置示例2. 插件管理系统四、企业级开发实践1. 代码编辑技巧2. 宏录制与批量处理五、可视化与多窗口1…

ES中must与filter的区别

在 Elasticsearch 的布尔查询(bool query)中,must 和 filter 是两个核心子句,它们的核心区别在于 是否影响相关性评分,这直接决定了它们在查询性能、使用场景和结果排序上的差异。以下是详细对比: 一、核心…

qt之开发大恒usb3.0相机三

上一篇大恒相机的开发 是基于Qt Creator msvc工具链编译的,大恒相机msvc使用的的lib库是c版的。如果想要使用mingw工具链开发大恒相机,那么找连接对相应的lib库。mingw对应的库是c的。 配置如下: 图像获取核心代码如下 void __stdcall Wid…

Transformer架构详解:从Attention到ChatGPT

Transformer架构详解:从Attention到ChatGPT 系统化学习人工智能网站(收藏):https://www.captainbed.cn/flu 文章目录 Transformer架构详解:从Attention到ChatGPT摘要引言一、Attention机制:Transformer的…

数据中台(大数据平台)之数据安全管理

数据安全管理是结合大数据技术和行业特性,数据中台产品应具备数据分类分级、敏感数据智能识别的功能,并结合敏感数据管理、数据脱敏、数据加密等安全管控方式,保障数据安全可用。 1.安全分级分类:数据分级分类是一种将不同数据按…

github双重验证密码忘记或者获取不了了怎么办

背景 近期由于换了新手机,之前配置好的Authenticator这个App无法使用,导致获取不到二次验证的Authenticator code,登陆不上GitHub,不知道有没有人和我遇到同样的问题? 当我们配置2FA双重验证后,每次登陆gi…

告别复杂操作!电脑极简风格计时使用

无论是工作、学习还是日常生活,这款小巧实用的计时工具都能成为你掌控时间的好帮手。特别适合需要频繁切换正计时、倒计时和查看当前时间的场景。界面简洁,操作便捷,助你高效管理每一刻。 这是一款免安装的工具,下载后可直接打开…

[STM32问题解决(2)]STM32通过串口与PC通信,打开串口助手后无法在打开状态下下载程序和复位STM32

问题回顾 最近学习STM32单片机,经常使用STM32通过USART1串口与PC的串口助手进行通信。为了简单便捷,通常在打开串口的状态下下载程序。这样子下载程序后,STM32发出的信号,PC马上可以收到。 但是,突然出现了一个问题&a…

OpenHarmony定制系统组合按键(一)

一、开发环境 系统版本:OpenHarmony 4.0.10.13 设备平台:rk3568 SDK版本:fullSDK 4.0.10.13 DevEco Studio版本:4.1.0.400 二、需求背景 定制OpenHarmony 系统组合按键功能,例如仿Android Power VOL_Up组合键实现截…

Spring Boot 3 整合 MQ 构建聊天消息存储系统

引子 在构建实时聊天服务时,我们既要保证消息的即时传递,又需要对消息进行持久化存储以便查询历史记录。然而,直接同步写入数据库在高并发场景下容易成为性能瓶颈,影响消息的实时性。秉承"没有什么问题是加一层解决不了的&q…

非线性声学计算与强化学习融合框架:突破复杂环境人机交互的新技术

随着人工智能的快速发展,尤其是在深度学习和强化学习领域,声学计算和人机交互进入前所未有的扩展和创新阶段。尽管传统声学方法取得了显著成功,但这些线性或准线性方法在实际环境中往往存在关键的不足,尤其在动态、复杂或混响环境…

C++ - STL #什么是STL #STL的版本 #闭源开源 #STL的六大组件

文章目录 前言 一、什么是STL 二、STL的版本 1、原始版本 2、P.J.版本 3、RW版本 4、SGI版本 三、闭源、开源 四、STL的六大组件 总结 前言 路漫漫其修远兮,吾将上下而求索; 一、什么是STL STL(standard template libaray 标准模板库)&#…