乐鑫技术交流
直播中

刘丹

8年用户 1563经验值
私信 关注
[问答]

在ESP-M3/ESP8285 上,将GPIO16连接到RST会导致出现快速重置怎么解决?

在 ESP-M3/ESP8285 上,将 GPIO16 连接到 RST 会导致出现快速重置,而不是在设置的间隔后唤醒。
我有一个远程传感器项目,我一直在使用 Wemos D1 Mini 进行一段时间,我希望将其缩小到 ESP-M3/ESP8285。我的项目翻译得很好,除了我在 ESP-M3 上的深度睡眠唤醒方面遇到问题。在 D1 Mini 上,我有一个从 D0 连接到 RST 的二极管,然后我给它一个 ESP.deepSleep 并设置适当的时间,它先休眠然后正确唤醒。
我找到的所有文档都表明我需要将 GPIO16 连接到 RST。当我用那个连接打开 ESP-M3 时,板载 LED 快速闪烁,我的串行控制台显示随机乱码。我意识到每次 LED 闪光灯都会重复出现乱码,并且在没有 GPIO16 到 RST 连接的情况下打开设备电源时出现一次相同的乱码串。
我还注意到,如果没有 GPIO16 到 RST 连接,设备会进入深度睡眠,然后在设定时间后,板载 LED 闪烁一次。
为了调试,我将代码缩减为:
代码:全选void setup() {
    Serial.begin(115200);
    Serial.println("");     // Linebreak to clear all the gibberish
    Serial.println("Starting up...");

    delay(3000);
    int naptime = 5000000;
    Serial.println("Nap time");
    ESP.deepSleep(naptime, WAKE_NO_RFCAL);
}

void loop() {
}

并将我的布线简化为仅 VCC、GND、TX 和 RX 到我的 USB 串行适配器,以及连接到 RST 的 GPIO16。

回帖(1)

美信电子

2024-1-4 11:23:20
这个问题可能是由于连接了 GPIO16 和 RST 导致重置引脚和 GPIO16 之间的干扰造成的。解决方案可以是:

1. 尝试使用一个外部上拉电阻将 GPIO16 上拉到 VCC,这样能够确保 GPIO16 在重新启动时正确拉高。

2. 将 GPIO16 连接到一个可编程延时器,以便在重启之前等待一定的时间。这需要使用外部电路,但确保了在 ESP-M3/ESP8285 上使用 GPIO16 和 RST 时正确的唤醒。

3. 其他一些可能的解决方案包括修复电路板的问题或使用其他 ESP-M3/ESP8285。

请确保您的电路板设计符合规范,并仔细查看相关文档,以确保正确使用引脚。同时,建议使用较新版本的 ESP-M3/ESP8285 开发板。
举报

更多回帖

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