当前位置: 首页 > article >正文

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

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.lryc.cn/news/2395643.html

相关文章:

  • allWebPlugin中间件VLC专用版之录像功能介绍
  • Vim 支持多种编程语言编辑器
  • 解决 IDEA 在运行时中文乱码问题
  • Diffusion Planner:扩散模型重塑自动驾驶路径规划(ICLR‘25)
  • 华为OD机试真题——阿里巴巴找黄金宝箱 IV(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
  • 数据结构:时间复杂度(Time Complexity)和空间复杂度(Space Complexity)
  • CentOS7.9环境离线部署docker和docker-compose的两种方式
  • 北京大学肖臻老师《区块链技术与应用》公开课:06-BTC-网络
  • SSL/TLS 协议详解:安全通信的基石
  • 设计模式——外观设计模式(结构型)
  • Linux `vi/vim` 编辑器深度解析与高阶应用指南
  • ES中must与filter的区别
  • qt之开发大恒usb3.0相机三
  • Transformer架构详解:从Attention到ChatGPT
  • 数据中台(大数据平台)之数据安全管理
  • github双重验证密码忘记或者获取不了了怎么办
  • 告别复杂操作!电脑极简风格计时使用
  • stm32cube ide如何将工具链替换成arm-none-eabi-gcc
  • [STM32问题解决(2)]STM32通过串口与PC通信,打开串口助手后无法在打开状态下下载程序和复位STM32
  • RabbitMQ 与其他 MQ 的对比分析:Kafka/RocketMQ 选型指南(二)
  • OpenHarmony定制系统组合按键(一)
  • ORDER BY子句在一个 SQL 查询中只能出现一次
  • Spring Boot 3 整合 MQ 构建聊天消息存储系统
  • DeepSeek实战:打造智能数据分析与可视化系统
  • 非线性声学计算与强化学习融合框架:突破复杂环境人机交互的新技术
  • C++ - STL #什么是STL #STL的版本 #闭源开源 #STL的六大组件
  • Flutter - 原生交互 - 相机Camera - 01
  • 湖北理元理律师事务所:个人债务管理的温度与精度
  • Compose原理 - 整体架构与主流程
  • 从0开始学vue:实现一个简单页面