禁用 RF 的 ESP32 深度睡眠唤醒

ESP32 deep Sleep wakeup with disabled RF

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

谢谢

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

WiFi/BT and sleep modes

In deep sleep mode, wireless peripherals are powered down. Before entering sleep mode, applications must disable WiFi and BT using appropriate calls ( esp_bluedroid_disable, esp_bt_controller_disable, esp_wifi_stop).

WiFi can coexist with light sleep mode, allowing the chip to go into light sleep mode when there is no network activity, and waking up the chip from light sleep mode when required. However APIs described in this section can not be used for that purpose. esp_light_sleep_start forces the chip to enter light sleep mode, regardless of whether WiFi is active or not. Automatic entry into light sleep mode, coordinated with WiFi driver, will be supported using a separate set of APIs.

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