CH340G上传程序到ESP8266-01(S)模块

ops/2025/2/6 14:25:46/

文章目录

    • 概要
    • ESP8266模块
      • 外形尺寸
      • 模块原理图
      • 模块引脚功能
    • CH340G模块
      • 外形及其引脚
      • 模块引脚功能
      • USB TO TTL引脚
    • 程序上传
    • 正常工作

概要

使用USB TO TTLCH340G)将Arduino将程序上传到ESP8266-01模块

ESP8266_5">ESP8266模块

外形尺寸

在这里插入图片描述

模块原理图

在这里插入图片描述

模块引脚功能

引脚序号引脚名称类型引脚说明
1GND电源接地
2GPIO2输入/输出普通GPIO,用作I/O或LED控制
3GPIO0输入烧录模式选择,低电平进入烧录模式,高电平正常运行
4RX(GPIO3)输入串口接收(UART RX),连接到USB-TTL(如CH340)模块的TX
5VCC电源3.3V供电,不能使用5V,否则可能损坏芯片
6RST输入复位引脚,低电平(接地)时复位,松开后启动
7CH_PD(EN)输入使能引脚,必须连接3.3V,否则芯片不能启动
8TX(GPIO1)输出串口发送(UART TX),连接到USB-TTL(如CH340)模块的RX

CH340G_23">CH340G模块

USB TO TTL

外形及其引脚

在这里插入图片描述

模块引脚功能

引脚序号引脚名称类型引脚说明
1GND电源公共接地端,直接连接到USB总线的地线
2TXD输出串行数据输出
3RXD输入串行数据输入
4V3电源在3.3V电源电压时连接VCC输入外部电源
在5.0V电源电压时外接容量为0.1uF退藕电容
5UD+USB信号直接连接到USB总线的D+数据线
6UD-USB信号直接连接到USB总线的D-数据线
7XI输入晶体振荡器的输入,连接到晶体谐振器和负载电容器
8XO输出晶体振荡器的输出,连接到晶体谐振器和负载电容器
9CTS#输入MODEM联络输入信号,清除发送,低(高)有效
10DSR#输入MODEM联络输入信号,数据装置就绪,低(高)有效
11RI#输入MODEM联络输入信号,振铃提示,低(高)有效
12DCD#输入MODEM联络输入信号,载波检测,低(高)有效
13DTR#输出MODEM联络输入信号,数据终端就绪,低(高)有效
14RTS#输出MODEM联络输入信号,请求发送,低(高)有效
15R232输入辅助RS232使能,高有效,内置下拉
16VCC电源正电源输入端,需外接0.1uF电源退藕电容

USB TO TTL引脚

引脚序号引脚名称类型引脚说明
15V电源提供5V的电源输出,可以为一些需要5V供电的设备供电
2VCC电源通产也是电源引脚,在一些情况下与5V类似,用于提供电源,但具体电压可能根据模块设计有所不同
33V3电源蹄冻3.3V的电源输出,用于给工作电压为3.3V的芯片或模块供电
4TXD输出数据发送引脚,用于将模块的数据发送出去,在与其他设备通信时,将数据从该模块传向其他设备
5RXD输入数据接收引脚,用于接收来自其他设备的数据
6GND电源接地引脚,作为电路的参考零电位,用于建立电路的电位基准

程序上传

USB TO TTL连接到计算机USB接口,在设备管理器中会出现串行端口

接线

引脚序号ESP8266USB TO TTL备注
1GNDGND
2GPIO2
3GPIO0GND
4RXDTX
5VCC3V3
6RST先接到 **GND** 短暂接触一下(复位设备)
立即断开,使其进入烧录模式
7CH_PD3V3
8TXDRX

Arduino_IDE_ESP8266_72">Arduino IDE 安装ESP8266开发板

  • 将https://arduino.esp8266.com/stable/package_esp8266com_index.json复制到Arduino IDE -> 首选项 -> 其他开发板管理器地址 -> 确定
  • 在开发板管理中安装esp8266开发板
  • 有可能因为网络原因导致安装失败,自行解决

在这里插入图片描述

Arduino_IDE__79">Arduino IDE 开发板

需要正确选择ESP8266对应的开发板及其串行端口
在这里插入图片描述

上传失败

使用Arduino IDE编写ESP8266程序后编译上传,若出现下面错误,可能的情况有

  • 接线不正确
  • 没有正确的复位设备,在使用RST短接GND的瞬间会看到ESP8266板子的蓝灯会闪烁
. Variables and constants in RAM (global, static), used 31260 / 80192 bytes (38%)
║   SEGMENT  BYTES    DESCRIPTION
╠══ DATA     1500     initialized variables
╠══ RODATA   2344     constants       
╚══ BSS      27416    zeroed variables
. Instruction RAM (IRAM_ATTR, ICACHE_RAM_ATTR), used 61043 / 65536 bytes (93%)
║   SEGMENT  BYTES    DESCRIPTION
╠══ ICACHE   32768    reserved space for flash instruction cache
╚══ IRAM     28275    code in IRAM    
. Code in flash (default, ICACHE_FLASH_ATTR), used 303024 / 1048576 bytes (28%)
║   SEGMENT  BYTES    DESCRIPTION
╚══ IROM     303024   code in flash   
esptool.py v3.0
Serial port COM5
Connecting........_____....._____....._____....._____....._____....._____....._____
A fatal esptool.py error occurred: Failed to connect to ESP8266: Timed out waiting for packet header

上传成功

若没有问题,则会出现下面上传信息

. Variables and constants in RAM (global, static), used 31260 / 80192 bytes (38%)
║   SEGMENT  BYTES    DESCRIPTION
╠══ DATA     1500     initialized variables
╠══ RODATA   2344     constants       
╚══ BSS      27416    zeroed variables
. Instruction RAM (IRAM_ATTR, ICACHE_RAM_ATTR), used 61043 / 65536 bytes (93%)
║   SEGMENT  BYTES    DESCRIPTION
╠══ ICACHE   32768    reserved space for flash instruction cache
╚══ IRAM     28275    code in IRAM    
. Code in flash (default, ICACHE_FLASH_ATTR), used 303024 / 1048576 bytes (28%)
║   SEGMENT  BYTES    DESCRIPTION
╚══ IROM     303024   code in flash   
esptool.py v3.0
Serial port COM5
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 48:e7:29:6c:a6:4e
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 1MB
Compressed 339296 bytes to 244489...
Writing at 0x00000000... (6 %)
Writing at 0x00004000... (13 %)
Writing at 0x00008000... (20 %)
Writing at 0x0000c000... (26 %)
Writing at 0x00010000... (33 %)
Writing at 0x00014000... (40 %)
Writing at 0x00018000... (46 %)
Writing at 0x0001c000... (53 %)
Writing at 0x00020000... (60 %)
Writing at 0x00024000... (66 %)
Writing at 0x00028000... (73 %)
Writing at 0x0002c000... (80 %)
Writing at 0x00030000... (86 %)
Writing at 0x00034000... (93 %)
Writing at 0x00038000... (100 %)
Wrote 339296 bytes (244489 compressed) at 0x00000000 in 21.5 seconds (effective 126.2 kbit/s)...
Hash of data verified.Leaving...
Hard resetting via RTS pin...

上传程序成功后会如果卡在了Hard resetting via RTS pin...的解决方案

  • 断开 **GPIO0 → GND** 连接(如果仍然接着)
  • 短接 **RST → GND**(复位),然后松开

正常工作

引脚序号引脚名称类型引脚说明
1GND电源接地
5VCC电源3.3V供电,不能使用5V,否则可能损坏芯片
7CH_PD(EN)输入使能引脚,必须连接3.3V,否则芯片不能启动

以上供电选择可以使用USB TO TTLArduino UNO R4 Minima或者其他外部3.3V电源均可,连接以上ESP8266引脚,可以使用手机或PC搜索到Arduino程序中写的WiFi名称并进行连接,使用USB TO TTL好像有点问题

初此之外,还可以连接USB TO TTL的TXD、RXD之后,若上传到ESP8266的程序中有输出到串口监视器中的内容的代码,则可以连接Arduino IDE的串口监视器可以看到对应的输出信息,需要注意的时波特率需要和程序中的一致
在这里插入图片描述


http://www.ppmy.cn/ops/156174.html

相关文章

如何使用C#的using语句释放资源?什么是IDisposable接口?与垃圾回收有什么关系?

在 C# 中,using语句用于自动释放实现了IDisposable接口的对象所占用的非托管资源,如文件句柄、数据库连接、图形句柄等。其使用方式如下: 基础用法 声明并初始化资源对象:在using关键字后的括号内声明并初始化一个实现了IDisposable接口的对象。使用资源:在using语句块内…

React中useState()钩子和函数式组件底层渲染流程详解

useState()钩子底层渲染流程 React中useState的底层渲染机理。首先,我知道useState是React Hooks的一部分,用于在函数组件中添加状态。但底层是如何工作的呢?可能涉及到React的调度器、Fiber架构以及闭包等概念。 首先,React使用F…

计算机毕业设计开题答辩PPT怎么写?【答辩PPT】

本文将介绍如何制作毕业设计开题答辩PPT,并提供一个实际的示例,帮助你更好地准备答辩。 一、答辩PPT的制作技巧 1. 明确结构,层次分明 答辩PPT的结构需要清晰、简洁,每个部分应该有清晰的主题。通常PPT的结构可以分为以下几个部…

【大数据技术】编写Python代码实现词频统计(python+hadoop+mapreduce+yarn)

编写Python代码实现词频统计(python+hadoop+mapreduce+yarn) 搭建完全分布式高可用大数据集群(VMware+CentOS+FinalShell) 搭建完全分布式高可用大数据集群(Hadoop+MapReduce+Yarn) 本机PyCharm连接CentOS虚拟机 在阅读本文前,请确保已经阅读过以上三篇文章,成功搭建了…

MongoDB学习笔记-解析jsonCommand内容

如果需要屏蔽其他项目对MongoDB的直接访问操作&#xff0c;统一由一个入口访问操作MongoDB&#xff0c;可以考虑直接传入jsonCommand语句解析执行。 相关依赖包 <!-- SpringBootDataMongodb依赖包 --> <dependency><groupId>org.springframework.boot</…

使用MATLAB进行雷达数据采集可视化

本文使用轮趣科技N10雷达&#xff0c;需要源码可在后台私信或者资源自取 1. 项目概述 本项目旨在通过 MATLAB 读取 N10 激光雷达 的数据&#xff0c;并进行 实时 3D 点云可视化。数据通过 串口 传输&#xff0c;并经过解析后转换为 三维坐标点&#xff0c;最终使用 pcplayer 进…

【Linux系统】—— make/makefile

【Linux系统】—— make/makefile 1 什么是 make/makefile2 第一版本makefile3 依赖关系和依赖方法4 清理4.1 清理的基本语法4.2 make 的默认执行4.3 为什么要加 『.PHONY:clean』4.3.1 『.PHONY:clean』的功能4.3.2 如何理解总是不被执行4.3.2 如何区分文件的新旧 5 第二版本m…

C语言的物联网

C语言在物联网中的应用 物联网&#xff08;Internet of Things&#xff0c;IoT&#xff09;是一个通过网络将各种物理设备连接起来的系统&#xff0c;使其能够收集和交换数据。随着技术的进步&#xff0c;物联网已经走入了我们的日常生活&#xff0c;并在智能家居、智能城市、…