没有合适的资源?快使用搜索试试~ 我知道了~
ESP32进入低功耗后退出唤醒时间长,该问题的解决方案
资源推荐
资源详情
资源评论
ESP32 进入低功耗后退出,唤醒时间长问题
现在 ESP32 芯片应用越来越流行,越来越多国内企业选择乐鑫这款 ESP32 集成 WiFi 和 BLE
的强大 MCU,使用过程中很多时候需要用到低功耗功能,不知道大家有没有遇到这样的问
题:
调用 esp_light_sleep_start()后,系统进入低功耗,但是唤醒的时候发现系统唤醒时间要等比
较久,比如超过 1-2 秒。这与 ESP 的设计规格严重不符,ESP 的睡眠唤醒应该是毫秒级别的。
话不多说,马上来看解决方案:
唤醒时间变成原因:进入低功耗前,系统定时器未完全关闭。
解决办法:每次进入低功耗,系统用到的定时器要完全关闭,唤醒之后再打开。这样就可以
解决进入低功耗退出,唤醒时间较长问题。问题出现原因官方好像没有相关说明,但是 ESP
中文论坛有相关提问和回答,大家也可以前去了解。
stop_your_timer();
//stop your timer like this
//esp_timer_stop(sample_timer);
//esp_timer_delete(sample_timer);
//gpio 唤醒,仅用于 light sleep mode
esp_sleep_enable_timer_wakeup(sleep_time);//us //SLEEP_TIME
esp_sleep_enable_gpio_wakeup();
esp_light_sleep_start();
/* Determine wake up reason */
const char* wakeup_reason;
uint8_t ret = esp_sleep_get_wakeup_cause();
DEBUG(LEVEL_INFO, "esp wakeup!! ret:%d", ret);
switch(ret)
{
case ESP_SLEEP_WAKEUP_TIMER:
wakeup_reason = "timer";
power_off();
break;
case ESP_SLEEP_WAKEUP_GPIO:
wakeup_reason = "pin";
break;
default:
wakeup_reason = "other";
break;
}
start_your_timer();
资源评论
嵌入式那个小哥
- 粉丝: 5
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功