完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
开发板:esp32-s3-WROOM-1
ESP-IDF:5.0 不管通过esp_light_sleep_start()还是esp_deep_sleep_start()进入睡眠模式,功耗都是在30mA~3mA。 感觉进入的都是Modem-sleep工作模式。 该如何测试才能达到规格书上对应的工作模式下的功耗呢? |
|
相关推荐
1个回答
|
|
要使ESP32-S3正确进入睡眠模式并达到规格书上的功耗,您需要遵循以下步骤:
1. 确保您使用的是ESP-IDF 5.0版本,因为您已经提到了这一点。 2. 根据您的需求选择合适的睡眠模式。ESP32-S3支持以下几种睡眠模式: - 轻睡眠(light sleep):允许Wi-Fi和蓝牙操作,但功耗较高。 - 深度睡眠(deep sleep):关闭Wi-Fi和蓝牙,功耗较低。 3. 配置电源管理设置。在`menuconfig`中,选择`Component config` > `ESP32-S3-specific` > `Power Management Settings`。在这里,您可以配置以下选项: - `Enable power management in deep sleep`:启用深度睡眠时的电源管理。 - `Enable light sleep`:启用轻睡眠模式。 4. 在代码中设置睡眠模式。根据您的需求,使用`esp_light_sleep_start()`或`esp_deep_sleep_start()`函数。例如,要进入深度睡眠模式,您可以使用以下代码: ```c #include "esp_sleep.h" void app_main() { while (1) { // 执行您的代码 // 进入深度睡眠模式 esp_deep_sleep_start(); } } ``` 5. 配置唤醒源。在深度睡眠模式下,您需要设置一个唤醒源,例如GPIO、定时器等。例如,要使用GPIO作为唤醒源,您可以使用以下代码: ```c #include "driver/gpio.h" #include "esp_sleep.h" void app_main() { gpio_config_t io_conf = { .pin_bit_mask = 1ULL << GPIO_NUM_0, .mode = GPIO_MODE_INPUT, .pull_up_en = 1, .pull_down_en = 0, .intr_type = GPIO_INTR_ANYEDGE, }; gpio_config(&io_conf); while (1) { // 执行您的代码 // 设置GPIO唤醒源 esp_sleep_enable_ext0_wakeup(GPIO_NUM_0, ESP_SLEEP_WAKEUP_ALL_LOW); // 进入深度睡眠模式 esp_deep_sleep_start(); } } ``` 6. 检查功耗。在进入睡眠模式后,使用万用表或其他测量工具检查开发板的功耗。确保电源线和地线连接正确,以获得准确的测量结果。 7. 如果功耗仍然不符合规格书上的要求,请检查您的硬件连接和电源设置,确保没有其他因素导致功耗增加。 通过以上步骤,您应该能够使ESP32-S3正确进入睡眠模式并达到规格书上的功耗要求。 |
|
|
|
只有小组成员才能发言,加入小组>>
343 浏览 0 评论
1192 浏览 1 评论
587浏览 6评论
484浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
468浏览 5评论
467浏览 4评论
443浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 17:39 , Processed in 0.663348 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号