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