#include <stdio.h>
#include "driver/gpio.h"
#include <time.h>
#include <sys/time.h>
#include "sdkconfig.h"
#include "soc/soc_caps.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_sleep.h"
#include "esp_log.h"
#include "driver/rtc_io.h"
#include "nvs_flash.h"
#include "nvs.h"
#define DEFAULT_WAKEUP_PIN 25
#define DEFAULT_WAKEUP_LEVEL ESP_GPIO_WAKEUP_GPIO_LOW
void example_deep_sleep_register_gpio_wakeup(void)
{
const gpio_config_t config = {
.pin_bit_mask = BIT(DEFAULT_WAKEUP_PIN),
.mode = GPIO_MODE_INPUT,
.pull_up_en = 1,
.pull_down_en = 0
};
ESP_ERROR_CHECK(gpio_config(&config));
esp_sleep_enable_ext1_wakeup(DEFAULT_WAKEUP_PIN, DEFAULT_WAKEUP_LEVEL);
//esp_deep_sleep_enable_gpio_wakeup(BIT(DEFAULT_WAKEUP_PIN), DEFAULT_WAKEUP_LEVEL);
printf("Enabling GPIO wakeup on pins GPIO%d\n", DEFAULT_WAKEUP_PIN);
}
void app_main()
{
uint64_t wakeup_pin_mask = 0;
example_deep_sleep_register_gpio_wakeup();
vTaskDelay(500);
printf("sleep\r\n");
vTaskDelay(400);
esp_deep_sleep_start();
//esp_light_sleep_start();
while(1)
{
//printf("system:run\r\n");
vTaskDelay(4000);
}
}
//我使用esp_deep_sleep_start 这个函数后自动复位, 全程没有一点报错
ESP32P4 进deep sleep 自动复位
Re: ESP32P4 进deep sleep 自动复位
问题有解决吗?遇到一样的现象,P4运行example/system/deep_sleep,概率出现串口打印乱码/没反应没任何打印/直接重启的现象,似乎P4的deep sleep不太稳定,S3还没遇到过。
Re: ESP32P4 进deep sleep 自动复位
please merge patch:
fix(esp_hw_support): Fixed the issue that light sleep destroyed the parameters of subsequent deep sleep.
fix_bad_dslp_param_after_lightsleep
fix(esp_hw_support): Fixed the issue that light sleep destroyed the parameters of subsequent deep sleep.
fix_bad_dslp_param_after_lightsleep
Who is online
Users browsing this forum: Google [Bot] and 3 guests