除了特定的外部引脚触发唤醒,还可以在light-sleep下使用gpio_wakeup_enable()来设定任意GPIO的高/低电平触发唤醒 在进入睡眠模式之前使用esp_sleep_enable_gio_wakeup()来使能该唤醒源 UART 在light-sleep下可以使用esp_sleep_enable_uart_wakeup()来启用UART触发唤醒 若开启该触发源,当睡眠状态的ESP32收到来自外部设...
voidsetup(){ Serial.begin(115200);delay(2000);// 给于一定的时间用于开启 Serial 控制台,在深度睡眠的时候是无法连接 esp32 的// 要使得 gpio0 唤醒,下面 2 行代码是关键gpio_set_direction(GPIO_NUM_0, GPIO_MODE_INPUT);esp_deep_sleep_enable_gpio_wakeup(BIT(0), ESP_GPIO_WAKEUP_GPIO_LOW); S...
可以使用esp_sleep_enable_ulp_wakeup()来启用ULP协处理器指令唤醒 GPIO 除了特定的外部引脚触发唤醒,还可以在light-sleep下使用gpio_wakeup_enable()来设定任意GPIO的高/低电平触发唤醒 在进入睡眠模式之前使用esp_sleep_enable_gio_wakeup()来使能该唤醒源 UART 在light-sleep下可以使用esp_sleep_enable_uart_wakeup...
在最后一步中,配置我们之前定义的深度睡眠定时器参数。这可以使用函数esp_sleep_enable_timer_wakeup来完成,然后调用函数esp_deep_sleep_start()来启动ESP32的深度睡眠模式,如下所示。 ESP32睡眠模式测试 活跃的模式: 在这里,你可以看到在主动模式下的电流消耗量约为60mA。 ESP32深度睡眠模式: 现在,将ESP32置于深...
设置GPIO_ENABLE_DATA使能寄存器 配置IO_MUX寄存器,配置IO功能(上下拉、输入输出)备注:同一个引脚可以...
(1), GPIO_MODE_INPUT);gpio_set_direction(gpio_num_t(2), GPIO_MODE_INPUT);esp_deep_sleep_enable_gpio_wakeup(1<<0, ESP_GPIO_WAKEUP_GPIO_LOW);esp_deep_sleep_enable_gpio_wakeup(1<<1, ESP_GPIO_WAKEUP_GPIO_LOW);esp_deep_sleep_enable_gpio_wakeup(1<<2, ESP_GPIO_WAKEUP_GPIO_LOW);...
gpio_wakeup_enable(GPIO_NUM_2, GPIO_INTR_HIGH_LEVEL); esp_sleep_enable_gpio_wakeup();//以上为GPIO唤醒设置,电流5.16ma;以下为Timer唤醒设置,电流1.43ma;二者同时设置电流也为1.43ma。 int time_wakeup_sec = 10; esp_sleep_enable_timer_wakeup(time_wakeup_sec * 1000000); ...
gpio_pin_wakeup_enable(GPIO_ID_PIN(D5), GPIO_PIN_INTR_LOLEVEL); wifi_set_opmode(NULL_MODE); wifi_fpm_set_sleep_type(LIGHT_SLEEP_T); wifi_fpm_open(); wifi_fpm_set_wakeup_cb(callback); wifi_fpm_do_sleep(FPM_SLEEP_MAX_TIME); ...
esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);复制代码最后,通过调用esp_deep_...
esp_sleep_enable_timer_wakeup(5000000); //设置唤醒时间 esp_sleep_enable_gpio_wakeup(); //使能GPIO唤醒 ESP_LOGE(TAG,"Entering light sleep\n"); uart_wait_tx_idle_polling(CONFIG_ESP_CONSOLE_UART_NUM);//等待串口数据发送完毕 int64_t t_before_us = esp_timer_get_time(); //获取睡眠前的时...