数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1789|回复: 2

[Arduino] Arduino中ESP32/ESP8266的低功耗

[复制链接]
发表于 2024-8-9 09:51:11 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
这个,深度睡眠(deepsleep)可以低功耗——超低功耗,但其实是相当于reset,不利开发



下边是ESP32的休眠方法,ESP8266相似,只是方法略有不同。没什么外围的消耗的话(如,LDO也是超低功耗),电流是很低,几个uA



#define uS_TO_S_FACTOR 1000000        /* 微秒到秒的转换级数 */
#define TIME_TO_SLEEP  15                /* 休克的秒数,最大应该是64位的微秒。若想更大的休眠时间,就要使用下边变量结合了*/

RTC_DATA_ATTR int bootCount = 0; //必须是使用RTC保存的

/* 启动的缘由 */
void print_wakeup_reason(){
        esp_sleep_wakeup_cause_t wakeup_reason;
        wakeup_reason = esp_sleep_get_wakeup_cause();
        switch(wakeup_reason){
        case ESP_SLEEP_WAKEUP_EXT0 : Serial.println("被 RTC_IO 唤醒的"); break;
        case ESP_SLEEP_WAKEUP_EXT1 : Serial.println("被 RTC_CNTL唤醒的"); break;
        case ESP_SLEEP_WAKEUP_TIMER : Serial.println("被 timer 唤醒的"); break;
        case ESP_SLEEP_WAKEUP_TOUCHPAD : Serial.println("被 touchpad 唤醒的"); break;
        case ESP_SLEEP_WAKEUP_ULP : Serial.println("被 ULP program唤醒的"); break;
        default : Serial.printf("不是休克被唤醒的码: %d\n",wakeup_reason); break;
        }
}

void setup(){
        delay(1000);                                //稍作延时
        Serial.begin(115200);
        delay(10);                                        //给串口一点时间准备

        ++bootCount;                                //重启的次数
        Serial.println("已经重启多少次: " + String(bootCount));

        print_wakeup_reason();                //打印启动的缘由

        //要做的功能,写在这

        esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);
        Serial.println("休克的时间 " + String(TIME_TO_SLEEP) + " 秒");

        Serial.println("我要开始休克了");
        Serial.flush();
        delay(1000);
        esp_deep_sleep_start();
        Serial.println("你将看不到我"); //休眠后,就是reset了,所以……
}


void loop(){
        //不用写在loop中,因为前面已经深睡了
}


========================
有没有不reset的休眠(克)? 如51单片机的PowerDown模式

发表于 2024-8-9 14:11:47 | 显示全部楼层
真正的休眠  可能要系统级环境才能达到,比如PC、智能手机


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-9-10 03:25 , Processed in 0.078000 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表