求助个低功耗和唤醒的问题

z45217
Posts: 9
Joined: Sat Sep 17, 2022 1:32 am

求助个低功耗和唤醒的问题

Postby z45217 » Thu Jan 11, 2024 6:48 am

void app_main(void)
{
gpio_reset_pin(20);
gpio_set_direction(20, GPIO_MODE_INPUT);

ESP_LOGI( "TAG", "由%d唤醒", esp_sleep_get_wakeup_cause() );

rtc_gpio_pullup_en(20);
rtc_gpio_pulldown_dis(20);
esp_sleep_enable_ext0_wakeup(20, 0);//RTC IO,低电平唤醒
ESP_LOGI("TAG", "进入低功耗");
esp_deep_sleep_start();
}

如上代码运行后,打印如下:
I (180) coexist: coexist rom version e7ae62f
I (185) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (205) TAG: 由0唤醒
I (205) TAG: 进入低功耗

问题如下:
进入低功耗模式后十几秒就自动重启,一直循环十几秒重启一次,重启打印都是“由0唤醒”,示波器显示IO20一直是高电平
而且在这十几秒内外部拉低IO20也没反应,不能唤醒设备
注释掉“esp_sleep_enable_ext0_wakeup(20, 0);”,就不会重启了,但同时也无法唤醒设备

尝试在硬件不变的情况下,新建官方“hello world”工程,把上面代码拷贝过去,运行正常,不会重启,能正常唤醒打印“由2唤醒”

求助在我自己的工程里可能是什么原因导致重启的?我的工程里已经把app_main函数里其它代码都删了,只留了上述休眠代码
IDF版本是4.4.2,硬件是ESP32S3

z45217
Posts: 9
Joined: Sat Sep 17, 2022 1:32 am

Re: 求助个低功耗和唤醒的问题

Postby z45217 » Fri Jan 12, 2024 5:30 am

问题解决了“Flash SPI speed”由120M改成80就正常了

Who is online

Users browsing this forum: Baidu [Spider], Bing [Bot], Google [Bot] and 90 guests