我过去经常使用esp8266和它的深度睡眠选项,用计时器醒来,用像这个ESP.deepSleep(TimeInMicro, WAKE_NO_RFCAL);
那样的禁用RF唤醒,但是现在我使用的是esp32。我找到了如何用计时器唤醒它,但我找不到一个选项来唤醒与残疾的RF。我的问题是,这个选项在esp32中是可行的,如何实现呢?
谢谢
发布于 2018-03-16 17:43:06
来自文档:modes.html
WiFi/BT与睡眠模式 在深度睡眠模式下,无线外围设备被关闭。在进入睡眠模式之前,应用程序必须使用适当的调用(
esp_bluedroid_disable
、esp_bt_controller_disable
、esp_wifi_stop
)禁用esp_bluedroid_disable
和BT。 WiFi可以与光睡眠模式共存,允许芯片在没有网络活动的情况下进入光睡眠模式,并在需要时从光睡眠模式中唤醒芯片。但是,本节中描述的API不能用于此目的。esp_light_sleep_start
强制芯片进入光睡眠模式,而不管WiFi是否激活。使用单独的一组API,将支持与WiFi驱动程序协调的自动进入光睡眠模式。
在进入深度睡眠之前,您可以使用esp_deep_sleep_pd_config
配置所有参数,还有关于许多其他深度睡眠主题的丰富信息。
例如,您可以做这样的事情,对设备的深度睡眠进行一定程度的控制:
esp_deep_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF);
esp_deep_sleep_pd_config(ESP_PD_DOMAIN_RTC_SLOW_MEM, ESP_PD_OPTION_OFF);
esp_deep_sleep_pd_config(ESP_PD_DOMAIN_RTC_FAST_MEM, ESP_PD_OPTION_OFF);
esp_deep_sleep_enable_timer_wakeup(((uint64_t) sec) * 60);
esp_deep_sleep_start();
https://stackoverflow.com/questions/49288738
复制相似问题