完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
基于ESP32做了一个深度睡眠的低功耗设备,使用定时器唤醒,esp_sleep_enable_timer_wakeup(wakeup_time_sec * 1000000)这个函数的入参是Uint64位的,我需要24小时处于低功耗状态下,就是入参为24*60*60*1000000=864000000<2^64,理论上应该是可行的,但是实际上是每隔几分钟设备会被唤醒,说是从定时器唤醒,请问这个是什么原因或者有没有其他办法让我24小时出入低功耗,24小时后唤醒
|
|
相关推荐
1个回答
|
|
ESP32 设定长时间低功耗的方法有多种,但是您遇到的问题可能是由于定时器唤醒时间设置不正确或者存在其他干扰导致的。以下是一些建议和解决方案:
1. 确保唤醒时间设置正确:根据您的描述,您已经使用了正确的唤醒时间参数。但是,请确保在调用 `esp_sleep_enable_timer_wakeup(864000000)` 之前没有其他唤醒源被启用。 2. 禁用其他唤醒源:在进入深度睡眠之前,确保禁用其他可能唤醒设备的唤醒源,例如 GPIO 唤醒、触摸唤醒等。您可以使用 `esp_sleep_disable_wakeup_source()` 函数来禁用这些唤醒源。 3. 检查电源管理设置:确保您的电源管理设置是正确的,例如使用低功耗模式的电源管理。您可以查阅 ESP32 技术手册了解如何配置电源管理。 4. 使用其他唤醒方法:如果定时器唤醒方法无法满足您的需求,您可以尝试使用其他唤醒方法,例如使用外部 RTC(实时时钟)模块来唤醒设备。这样,您可以将唤醒时间设置为 24 小时,而不受 ESP32 定时器限制。 5. 检查代码逻辑:检查您的代码逻辑,确保在进入深度睡眠之前没有其他可能导致设备唤醒的操作。 6. 检查硬件连接:检查您的硬件连接是否正确,确保没有短路或接触不良等问题。 7. 更新固件:确保您的 ESP32 设备使用的是最新版本的固件,以避免可能的已知问题。 8. 使用第三方库:您可以尝试使用第三方库,如 Arduino 的 ESP32 库,它们可能提供了更简单或更可靠的方法来实现长时间低功耗。 综上所述,您可以尝试以上建议来解决您的问题。如果问题仍然存在,请提供更多关于您的设备和代码的详细信息,以便我们能够更好地帮助您。 |
|
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
438浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:48 , Processed in 0.901315 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号