【ESP32】上电反复重启——调试问题记录
本文主要记录基于esp32 自开发设备硬件调试过程,解决上电MCU反复重启的问题,用于新手小白记录
📋 个人简介
- 💖 作者简介:大家好,我是喜欢记录零碎知识点的小菜鸟。😎
- 📝 个人主页:欢迎访问我的 Ethernet_Comm 博客主页🔥
- 🎉 支持我:点赞👍+收藏⭐️+留言📝
- 📣 系列专栏:esp32二次开发专栏 🍁
- 💬格言:写文档啊不是写文章,重要的还是直白!🔥
【ESP32】启动电流不足——调试问题记录
1.问题描述
Esp32 和 lora模组开发板调试有问题。
问题描述:
ESP32反复重启报rst:0x10 (RTCWDT_RTC_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT) flash read err, 1000错误
- 开发板初始化上电,esp32一直无法正常启动,打印的错误信息为
read flash error
- 当断开lora模组时,esp32正常启动,此时再连接lora模组。整个开发板程序正常。
- 当开发板断电重新上电后,esp32仍旧无法正常启动,
- 重复以上错误
以上问题基本每次都可以稳定复现。
报错内容为:
rst:0x10 (RTCWDT_RTC_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT) flash read err, 1000 ets_main.c 371
2.硬件供电方式描述
硬件供电方式:
5v输入,经过电压转换电路,转换为3v3,分别给esp32以及lora模组供电。
不管是用3.3 还是 5V供电都是能浮现以上问题
3.问题定位
【供电问题】
【模组TX引脚】
用示波器抓取模组上电时的tx引脚,发现上电后 tx 引脚会有一个毛刺,大概在 2.2V左右。
查找 esp32
的芯片手册发现 , GPIO12
恰好是esp32
的 stripping
引脚
4.问题解决过程
问题解决:
将模组和esp32连接的引脚,依次连接,看是哪个引脚完成esp32无法正常启动,最终发现当模组的tx引脚接入时,会稳定复现描述问题,于是查找模组手册
参考博文:https://blog.csdn.net/toopoo/article/details/98793848
lora
模组的tx
引脚接在了esp32
的rx引脚上,用的是GPIO12
5. esp32的Strapping 管脚
查看手册中关于 Strapping
管脚 的描述
参考: 【ESP32】【硬件设计】
通俗的讲,这几个引脚需要具备的特征为:
ESP32芯片具有以下Strapping pins:
- GPIO 0
- GPIO 2
- GPIO 4
- GPIO 5(启动期间必须为高)
- GPIO 12(启动期间必须低)
- GPIO 15(启动期间必须为高)
. 设计注意事项
避免将 ESP 的 strapping pins 与外设的输出管脚(即,对 ESP 为输入)连接:外设的输出管脚可能在上电时拉住 ESP strapping pins 的状态,影响上电逻辑。
7.再次验证
上电之前,就外部上拉 GPIO12
,然后给板子上电,明显看到板子无法正常启动
验证了 strpping
引脚 GPIO12
上电时必须拉低
6.本次总结
硬件电路设计的时候,你要注意手册