ESP32深度睡眠唤醒与禁用RF

时间:2018-03-14 22:37:28

标签: esp8266 arduino-esp8266 esp32

我曾经使用esp8266及其深度睡眠选项来唤醒定时器并使用禁用的RF唤醒  ESP.deepSleep(TimeInMicro, WAKE_NO_RFCAL); 但是现在我使用的是esp32。我发现如何用计时器唤醒它但我找不到用禁用RF唤醒的选项。 我的问题是在esp32中可以使用这个选项以及如何实现它?

由于

1 个答案:

答案 0 :(得分:0)

来自文档:http://esp-idf.readthedocs.io/en/latest/api-reference/system/sleep_modes.html

  

WiFi / BT和睡眠模式

     

在深度睡眠模式下,无线外围设备断电。之前   进入睡眠模式,应用程序必须   使用适当的呼叫禁用WiFi和BT(esp_bluedroid_disable,   esp_bt_controller_disableesp_wifi_stop)。

     

WiFi可以与轻度睡眠模式共存,允许芯片进入   当没有网络活动时,轻度睡眠模式,并唤醒   需要时从轻度睡眠模式切换芯片。但是在API中描述了API   本节不能用于此目的。 esp_light_sleep_start   迫使芯片进入轻度睡眠模式,无论是否WiFi   是否有效。自动进入轻度睡眠模式,协调   使用WiFi驱动程序,将使用一组单独的API支持。

在进入深度睡眠之前,您可以使用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();