pdf-icon

Arduino 上手教程

2. 设备开发 & 案例程序

DinMeter Wakeup 休眠唤醒

DinMeter 休眠唤醒相关API与案例程序。

  • 打开示例程序wakeup,上传代码

案例程序

cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
/**
 * @file wakeup.ino
 * @author SeanKwok (shaoxiang@m5stack.com)
 * @brief M5DinMeter Timer Wakeup Test
 * @version 0.1
 * @date 2024-03-07
 *
 *
 * @Hardwares: M5DinMeter
 * @Platform Version: Arduino M5Stack Board Manager v2.1.1
 * @Dependent Library:
 * M5GFX: https://github.com/m5stack/M5GFX
 * M5Unified: https://github.com/m5stack/M5Unified
 */

#include <M5DinMeter.h>

void setup(void) {
    auto cfg = M5.config();
    DinMeter.begin(cfg, false);
    DinMeter.Display.setRotation(1);
    DinMeter.Display.setTextColor(GREEN);
    DinMeter.Display.setTextDatum(middle_center);
    DinMeter.Display.setTextFont(&fonts::FreeSerifItalic9pt7b);
    DinMeter.Display.setTextSize(1);

    DinMeter.Display.drawString("Press Btn", DinMeter.Display.width() / 2,
                                DinMeter.Display.height() / 2 - 45);
    DinMeter.Display.drawString("to sleep", DinMeter.Display.width() / 2,
                                DinMeter.Display.height() / 2 - 15);
    DinMeter.Display.drawString("After 5s", DinMeter.Display.width() / 2,
                                DinMeter.Display.height() / 2 + 15);
    DinMeter.Display.drawString("Wakeup", DinMeter.Display.width() / 2,
                                DinMeter.Display.height() / 2 + 45);
}

void loop(void) {
    DinMeter.update();

    if (DinMeter.BtnA.wasPressed()) {
        DinMeter.Power.timerSleep(5);
        // DinMeter.Power.timerSleep(const rtc_time_t& time);
        // DinMeter.Power.timerSleep(const rtc_date_t& date, const rtc_time_t&
        // time);
        // DinMeter.Power.powerOff(); shutdown
    }
}

上传完成按下按键就可以看到下面的效果了

On This Page