0

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

谢谢

4

1 回答 1

1

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

WiFi/BT 和睡眠模式

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

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();
于 2018-03-16T17:43:06.510 回答