乐鑫技术交流
直播中

席毖庸

7年用户 1022经验值
擅长:596874
私信 关注
[问答]

ESP8266 UART0交换到GPIO13/15后,重启进不去系统怎么解决?

目前使用一个 8266 的 GPIO 13 和 15 连接到另外一个芯片的 TX 和 RX
由于另外一个芯片的 RX 和 TX 在空闲时是高电平的状态
当 8266 重启的时候,就会检测到 15 是高电平
然后就进入 boot 7 模式
无法从 flash 正常启动了就
请问这种情况应该怎么解决?
是否有什么跳线直接解决这个问题?
还是需要在电路板上做些调整?
                     

回帖(1)

杨平

2024-7-12 14:22:52
在这种情况下,我们需要解决的问题是 ESP8266 在重启时,由于另一个芯片的 TX 和 RX 信号导致无法正常启动。以下是一些建议和解决方案:

1. **使用上拉电阻**:在 ESP8266 的 GPIO13 和 GPIO15 引脚上分别添加一个上拉电阻(例如 10kΩ)。这样,在没有连接到另一个芯片时,GPIO13 和 GPIO15 将保持高电平,避免误触发。

2. **使用跳线**:在 ESP8266 的 GPIO13 和 GPIO15 引脚上,使用跳线将它们连接到另一个芯片的 TX 和 RX。在不需要通信时,可以将跳线断开,以避免误触发。

3. **软件控制**:在 ESP8266 的固件中,添加代码来检测 GPIO13 和 GPIO15 的电平状态。如果检测到高电平,可以设置一个标志位,然后在系统启动时检查这个标志位。如果标志位为真,可以跳过 boot 7 模式,正常启动系统。

4. **修改硬件设计**:如果可能的话,可以考虑修改硬件设计,将 ESP8266 的 UART0 引脚与另一个芯片的 TX 和 RX 引脚分开。例如,可以使用其他 GPIO 引脚作为 UART 引脚,或者使用其他通信方式(如 SPI 或 I2C)。

5. **使用外部电路**:可以使用外部电路,如三极管或 MOSFET,来控制 ESP8266 的 GPIO13 和 GPIO15 引脚。当需要与另一个芯片通信时,通过外部电路将 GPIO13 和 GPIO15 连接到另一个芯片的 TX 和 RX。在不需要通信时,通过外部电路将 GPIO13 和 GPIO15 与另一个芯片断开连接。

6. **调整电源管理**:检查 ESP8266 的电源管理设置,确保在重启时不会误触发 boot 7 模式。可以尝试调整电源管理参数,如电源电压、电源电流等。

7. **固件升级**:检查 ESP8266 的固件版本,看看是否有更新的版本可以解决这个问题。有时候,固件的更新可能会修复一些已知的问题。

8. **联系技术支持**:如果以上方法都无法解决问题,可以考虑联系 ESP8266 的技术支持,寻求专业的帮助。

总之,解决这个问题可能需要结合硬件和软件的方法。在实际操作中,可能需要尝试多种方法,找到最适合自己项目的解决方案。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分