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

article/2025/8/13 12:20:12

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.hkcw.cn/article/RDoqlsBvhB.shtml

相关文章

duilib图片属性中corner属性九宫格拉伸说明

在duilib中,图片设置里有corner属性,类似于android系统里的九宫格,对应的分区域拉伸被称为九宫格拉伸。设置corner属性后,将区域分成3x3的九个区域,如下所示: 除了4个拐角区域不拉伸,其余5个区域…

《操作系统真相还原》——进入内核

ELF 按书上的操作来,在现代操作平台编译链接默认生成elf64 格式的文件, 很显然程序头位置发生变化,因为定义elf 结构的类型中有64位,所以我们需要将编译链接出32位格式的 gcc -m32 -c -o main.o main.c ld -m elf_i386 main.o …

笔试笔记(运维)

(数据库,SQL) limit1 随机返回其中一个聚合函数不可以嵌套使用 【^】这个里面的数据任何形式组合都没有 sql常用语句顺序:from-->where-->group by-->having-->select-->order by-->limit 只要其中一个表存在匹…

医疗数理范式化:从范式迁移到认知革命的深度解析

引言 在当代医疗领域,数理思维已经从辅助工具逐渐发展成为核心决策支持系统的关键组成部分。随着数字技术的迅猛发展,医疗行业正经历着前所未有的变革,而数理思维作为这一变革的核心驱动力,正在深刻重塑医疗实践的方方面面。数理思维在医疗领域的应用,本质上是将抽象的数…

golang -- slice 底层逻辑

目录 一、前言二、结构三、创建3.1 根据 make创建3.2 通过数组创建 四、内置append追加元素4.1 追加元素4.2 是否扩容4.2.1 不扩容4.2.2 扩容 总结 一、前言 前段时间学了go语言基础,过了一遍之后还是差很多,所以又结合几篇不同资料重新学习了一下相关…

Fashion-MNIST LeNet训练

前面使用线性神经网络softmax 和 多层感知机进行图像分类,本次我们使用LeNet 卷积神经网络进行 训练,期望能捕捉到图像中的图像结构信息,提高识别精度: import torch import torchvision from torchvision import transforms f…

数据库系统概论(十)SQL 嵌套查询 超详细讲解(附带例题表格对比带你一步步掌握)

数据库系统概论(十)SQL 嵌套查询 超详细讲解(附带例题表格对比带你一步步掌握) 前言一、什么是嵌套查询?1. 基础组成:查询块2. 嵌套的两种常见位置(1)藏在 FROM 子句里(当…

Azure 机器学习初学者指南

Azure 机器学习初学者指南 在我们的初学者指南中探索Azure机器学习,了解如何设置、部署模型以及在Azure生态系统中使用AutoML & ML Studio。Azure 机器学习 (Azure ML) 是一项全面的云服务,专为机器学习项目生命周期而设计&am…

使用win11圆角指针教程

一.准备文件 win11圆角指针下载链接:https://wwxh.lanzoum.com/iwsZH2xqmy0d 密码:em 二.开始安装 1.将下载的压缩包解压(随便存哪,最后可以删掉) 右键,点击“全部解压缩” 点击“提取” 2.安装 选…

day16 leetcode-hot100-30(链表9)

24. 两两交换链表中的节点 - 力扣(LeetCode) 1.模拟法 思路 模拟题目要求进行两两交换,但有一点需要注意,比如交换3与4后,1仍然指的是3,这是不正确的,所以1指针的next也需要修改,所…

C语言进阶--程序的编译(预处理动作)+链接

1.程序的翻译环境和执行环境 在ANSI C标准的任何一种实现中,存在两种不同的环境。 第一种是翻译环境:将源代码转换为可执行的机器指令(0/1); 第二种是执行环境:用于实际执行代码。 2.详解编译链接 2.1翻译环境 程…

GCA解码大脑因果网络

格兰杰因果分析(Granger Causality Analysis,GCA) 是一种测量脑区之间有效性连接(effective connectivity)的成熟方法。利用多元线性回归分析一个时间序列的过去值是否能正确预测另一个时间序列的当前值,可以用来描述脑…

H5S 大华SDK带图报警类型及热成像报警支持

目前很多应用都希望报警带对应的图片,比如控制中心在弹报警框的时候需要有一张图片让人工更快的做出判断,下面介绍使用大华SDK 的带图报警功能。 大华SDK支持接入设备带图报警,并且支持热成像通道报警,设置订阅事件并吧协议端口设…

(javaSE)Java数组进阶:数组初始化 数组访问 数组中的jvm 空指针异常

数组的基础 什么是数组呢? 数组指的是一种容器,可以用来存储同种数据类型的多个值 数组的初始化 初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程。 数组初始化的两种方式:静态初始化,动态初始化 数组的静态初始化 初始化…

Java数据结构——八大排序

排序 插⼊排序希尔排序直接选择排序堆排序冒泡排序快速排序归并排序计数排序 排序的概念 排序:就是将一串东西,按照要求进行排序,按照递增或递减排序起来 稳定性:就是比如排序中有两个相同的数,如果排序后&#xff0c…

【Linux】Linux文件系统详解

目录 Linux系统简介 Linux常见发行版: Linux/windows文件系统区别 Linux文件系统各个目录用途 Linux系统核心文件 系统核心配置文件 用户与环境配置文件 系统运行与日志文件 Linux文件名颜色含义 Linux文件关键信息解析 🔥个人主页 &#x1f52…

2023年6月6级第一套第一篇

虽然,不重要题干定位到主句信息了,往下走,看强调什么信息看最后一句,优先看主干信息,先找谓语然后找主语和宾语,也是和人有关,后面出现的名词信息是修饰部分,非主干信息不看 A选项&…

Langchaine4j 流式输出 (6)

Langchaine4j 流式输出 大模型的流式输出是指大模型在生成文本或其他类型的数据时,不是等到整个生成过程完成后再一次性 返回所有内容,而是生成一部分就立即发送一部分给用户或下游系统,以逐步、逐块的方式返回结果。 这样,用户…

代谢组数据分析(二十六):LC-MS/MS代谢组学和脂质组学数据的分析流程

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包依赖包安装包加载需要的R包数据下载以及转换mzML数据预处理代谢物注释LipidFinder过滤MultiABLER数据预处理过滤补缺失值对数变换数据标准化下游数据分析总结系统信息参考介…

常量指真,指针常量 ,

const int*p;//const int 值不能变 指向可以变 int *const p;//const p 指向不可以变 值能变