You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

ESP32 C3深度睡眠唤醒不稳定问题求助

ESP32 C3深度睡眠唤醒不稳定问题求助

各位大佬好,我最近碰到个头疼的问题,想请大家帮忙分析下我哪里出错了。

我自己做了一块ESP32 C3的自定义开发板,用18650电池供电,板上集成了充电电路和电池保护电路。原本设计的逻辑是:ESP32 C3运行30秒后进入深度睡眠,之后通过GPIO2引脚的按键唤醒,按键配置的是内部下拉电阻。

可现在的情况是,这个唤醒功能时好时坏——有时候能正常被按键唤醒,有时候就直接卡在睡眠状态,怎么按都没反应。

我现在有几个疑问想请教大家:

  • 有没有什么巧妙的办法,能用看门狗定时器来检查GPIO唤醒功能是否正常启用了?
  • 会不会是我的电池保护电路出问题了?我发现当板子连接编程器的时候,睡眠模式失效的情况好像少很多。
  • GPIO2是不是ESP32 C3的特殊引脚?会不会是引脚的某种特性影响了唤醒功能?
  • 有没有大佬遇到过类似的不稳定唤醒情况?

我把相关的电路原理图和代码贴出来:

GPIO配置及进入睡眠的代码

gpio_config_t io_conf = {};
io_conf.intr_type = GPIO_INTR_ANYEDGE;
io_conf.mode = GPIO_MODE_INPUT;
io_conf.pin_bit_mask = GPIO_INPUT_PIN_SEL;
io_conf.pull_down_en = GPIO_PULLDOWN_ENABLE;
io_conf.pull_up_en = GPIO_PULLUP_DISABLE;
gpio_config(&io_conf);

esp_deep_sleep_enable_gpio_wakeup((1ULL<<GPIO_INPUT_IO_RIGHT), ESP_GPIO_WAKEUP_GPIO_HIGH);
esp_deep_sleep_start();

到目前为止,我还没找到故障出现的规律,完全摸不清什么时候会正常工作,什么时候会卡住。

备注:内容来源于stack exchange,提问作者Niklas Jakob

火山引擎 最新活动