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

文章目录

概要

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

ESP8266模块

外形尺寸

模块原理图

模块引脚功能

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

CH340G模块

USB TO TTL

外形及其引脚

模块引脚功能

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

USB TO TTL引脚

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

程序上传

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

接线

引脚序号 ESP8266 USB TO TTL 备注
1 GND GND
2 GPIO2
3 GPIO0 GND
4 RXD TX
5 VCC 3V3
6 RST 先接到 **GND** 短暂接触一下(复位设备) 立即断开,使其进入烧录模式
7 CH_PD 3V3
8 TXD RX

Arduino IDE 安装ESP8266开发板

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**(复位),然后松开

正常工作

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

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

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

相关推荐
小贺儿开发2 天前
【Arduino与Unity交互探究】03 超声波测距模块
unity·arduino·串口通信·传感器·videoplayer·硬件交互
Zevalin爱灰灰3 天前
零基础入门学用物联网(ESP8266) 第一部分 基础知识篇(六)
单片机·物联网·嵌入式·esp8266
树爷只认钱4 天前
ESP01S模块+串口底座 AT指令连接中移Onenet物联网全过程(第1篇)
单片机·嵌入式硬件·物联网·esp8266
txh05076 天前
物联网esp8266小记
物联网·学习·esp8266
Zevalin爱灰灰7 天前
零基础入门学用物联网(ESP8266) 第一部分 基础知识篇(五)
单片机·物联网·嵌入式·esp8266
Zevalin爱灰灰8 天前
零基础入门学用物联网(ESP8266) 第一部分 基础知识篇(四)
物联网·嵌入式·esp8266
小贺儿开发9 天前
【Arduino与Unity交互探究】01 摇杆模块
科技·unity·游戏引擎·arduino·串口通信·摇杆·硬件交互
Zevalin爱灰灰9 天前
零基础入门学用物联网(ESP8266) 第一部分 基础知识篇(三)
单片机·物联网·嵌入式·esp8266
优信电子10 天前
ESP32开发板单向点对点ESP-NOW无线通信
单片机·嵌入式·arduino
ting_zh11 天前
ESP8266和电流互感器实现交流电流检测
物联网·adc·esp8266·home assistant·电流互感器