完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
环境:window11 vscode
版本库:v5.0-rc1* 芯片:ESP32-S3 使用官方提供的deep sleep例程,测试低功耗时,测出的功耗为8μA左右。这是正常的。 但如果在该基础上加入蓝牙功能,进入deep sleep后,测试的功耗为1.3mA 左右。 在测试中发现,只要开启了蓝牙控制器,就无法把功耗降至μA级。 在进入休眠前,也把控制器关了。 https://docs.espressif.com/projects/esp ... modes.htmlCode: Select all esp_bluedroid_disable(); esp_bt_controller_disable(); 想询问下,是否漏了其他操作? |
|
相关推荐
1个回答
|
|
在ESP32-S3上使用deep sleep模式时,如果功耗过高,可能是由于某些硬件模块或功能没有完全关闭。在您的情况下,已经尝试关闭了蓝牙控制器,但功耗仍然较高。以下是一些建议来降低功耗:
1. 确保所有未使用的GPIO引脚都设置为低功耗模式。您可以使用以下代码将所有GPIO引脚设置为低功耗模式: ```c gpio_config_t gpio_config = { .pin_bit_mask = (1ULL< .pull_up_en = 0, .pull_down_en = 0, .intr_type = GPIO_INTR_DISABLE, }; gpio_config(&gpio_config); ``` 2. 关闭所有未使用的外设。例如,如果您不需要使用SPI、I2C等接口,确保将它们关闭。 3. 在进入deep sleep之前,确保所有中断都已禁用。这可以通过以下代码实现: ```c ets_wifi_disable(); esp_intr_disable(WIFI_INTR_MASK); esp_intr_disable(BT_INTR_MASK); ``` 4. 检查您的代码中是否有其他可能影响功耗的因素,例如定时器、传感器等。 5. 如果问题仍然存在,您可以尝试使用ESP-IDF的`esp_sleep_pd_config`函数来配置电源管理。例如,您可以关闭一些不需要的电源域: ```c esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF); esp_sleep_pd_config(ESP_PD_DOMAIN_WIFI, ESP_PD_OPTION_OFF); ``` 6. 最后,确保您的硬件连接没有问题,例如电池、电源线等。 通过以上步骤,您应该能够降低ESP32-S3在deep sleep模式下的功耗。如果问题仍然存在,请检查您的硬件和软件设置,确保没有遗漏任何可能导致功耗过高的因素。 |
|
|
|
只有小组成员才能发言,加入小组>>
525浏览 6评论
434浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
423浏览 5评论
415浏览 4评论
389浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 05:35 , Processed in 0.846999 second(s), Total 79, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号