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

ESP8266固件烧录

一、烧录原理

1、引脚布局

 2、引脚定义

 3、尺寸封装

4、环境要求

5、接线方式

ESP8266系列模块集成了高速GPI0和外围接口,这可能会导致严重的开关噪声。如果某些应用需要高功率和EMI特性,建议在数字I/0线上串联10到100欧姆。这可以在切换电源时抑制过冲,并使信号平滑。串联电阻也可以在一定程度上防止静电放电(ESD)。

6、放到PCB板子天线放置说明

ESP8266系列模块可以焊接到PCB板上。为了获得最佳的最终产品射频性能,请根据本指南注意模块的合理设计和天线在底板上的放置。
备选

备选方案1(建议):
将模块沿着PCB板边缘放置,天线放置在框架外或沿着板子放置,底部空心;

备选方案2:
模块沿PCB板侧放置,天线沿板和空心底部放置;

备选方案3:
将模块沿着板的一侧放置,天线沿着板的另一侧放置。

7、GPIO电平转换电路(ESP8266电压3.3V,可以转5V进行通信)

 8、电源LDO

9、自动下载电路(同STM32自动下在电路类似,通过串口控制DTR和RTS控制EN和GPIO0来进行进入烧写模式)

10、串口下载和波特率选择

默认115200,通过安可新官网下载固件、烧写上位机、调试上位机

开发工具清单 | 安信可科技

 11、AT指令

蓝牙模块_无线模块_物联网模块_LoRa|WiFi模块【安信可官网】

12、模块参数(flash是程序存储空间大小,)

 13、启动模式和重启

其他问题:

启动信息:
ESP8266芯片本身支持26MHz和40MHz晶体,如果使用40MHZ晶体,默认波特率为115200,如果使用26MHz晶体,UARTO电源后的波特率=26*115200/40=74880,安信可ESP8266系列模块都使用26MHz,因为一般串行端口工具不支持波特率,所以打印时会出现乱码。
您可以使用安全串行接口助手配置波特率74880来查看启动信息。
注:部分USB到TTL不支持74880波特率,电脑自带RS232到TTL不支援74880波特马特率,建议使用FT232、CP2102、CH340等芯片。

如何在干扰时保持功能:
U0TXD的系统打印默认电源,通过UART的内部引脚切换功能,用户init()调用系统uart swap()函数,将新的U0TXD更改为GPIO15,将U0RXD更改为GPIO13,硬件连接在两个引脚上可以进行串行通信。
注意:交换后,硬件上的下载引脚仍然是原来的U0TXD和U0RXD。

二、固件烧写

工具准备

本次烧写使用的烧写工具,若没有此工具需要自己进行引脚拉低,供电等,然后连上串口转USB到电脑,需要自己接线的可以看这个博主。安信可ESP8266-01S 刷AT固件 详细操作教程_esp01s烧录教程-CSDN博客

 

若自己接线进行下载,下图为接线方式:

下图为接线原因,实际上只需要我们配置GPIO0即可,通过TXD0下载,GPIO0拉低进入下载模式: 

 ESP8266-01S有运行模式、下载模式、测试模式的区别,进入这下载模式、运行模式通过拉低或拉高IO0的电平实现。下图是官方给出的图片,其中ESP8266-01S没有引出GPIO15引脚,只引出了八个引脚,分别是3V3、RST、EN、TX、RX、IO0、IO2、GND 

对于EN、RST、IO2、这三个引脚安可信已经在电路中拉高拉低。GPIO15由外围电路拉低

下图为接线原理 :

 串口使用3.3V供电和逻辑电平(和ESP8266相同),ESP8266智能单独供电3.3V,他们的GND需要相连,不然相对电平不一致会导致通信异常。IO0直接拉低,上电进入烧写模式。

 工具和固件下载

上一章一、9可以下载烧写工具,固件下载也在此链接中

MQTT是指MQTT协议,支持订阅和发布,可以连接到云平台,不同的平台有不同的固件,可以到对应平台的官网下载。AT适用于WIFI连接和数据收发

1、我们此次下载AT指令模块,打开固件下载工具(需要先接线和安装驱动)

2、选择文件和下载配置 

3、擦除flash等待完成

4、下载


http://www.kler.cn/a/505582.html

相关文章:

  • Freeswitch使用media_bug能力实现回铃音检测
  • 【无标题】
  • 数据结构--二叉树
  • 低代码独特架构带来的编译难点及多线程解决方案
  • STM32-keil安装时遇到的一些问题以及解决方案
  • Python的秘密基地--[章节11] Python 性能优化与多线程编程
  • 利用Python爬虫按图搜索1688商品(拍立淘)的探索之旅
  • 从CRUD到高级功能:EF Core在.NET Core中全面应用(二)
  • 鸿蒙报错Init keystore failed: keystore password was incorrect
  • 【element plus】虚拟dom表格中cellRenderer如何使用v-for循环渲染item
  • 【vue3】 defineExpose 的使用
  • IIO(Industrial I/O)驱动介绍
  • 使用分割 Mask 和 K-means 聚类获取天空的颜色
  • 爬虫后的数据处理与使用(使用篇--实现分类预测)
  • css 三角构建
  • MCU中实时时钟(RTC)和普通定时器有什么区别
  • 深入Android架构(从线程到AIDL)_32 JNI架构原理_Java与C的对接05
  • C -- 大端对齐 小端对齐 的人性化解释
  • HTTP 缓存机制详解
  • matlab专栏-M文件
  • 学生资助在线管理软件开发微信小程序ssm+论文源码调试讲解
  • 《AI发展的三个关键视角:基础设施、开源趋势与社会影响》
  • SpringBoot + Websocket实现系统用户消息通知
  • Web后端开发
  • 《零基础Go语言算法实战》【题目 4-6】随机选择单链表的一个节点并返回
  • 《零基础Go语言算法实战》【题目 2-20】通过泛型比较大小