Arduino 上手教程
M5CoreS3 电源管理相关API与案例程序。
该模式下可通过Grove接口或DC电源接口为设备供电。(CoreS3 Base DIN底座需将电源开关切至ON)
#include "M5CoreS3.h" void setup(){ auto cfg = M5.config(); // if using ext power input(Grove Port or DC input power supply) needs to be set to false. cfg.output_power = false; CoreS3.begin(cfg);}
该模式下Grove接口将对外输出供电, 默认初始化情况下为该模式。
#include "M5CoreS3.h"void setup(){ auto cfg = M5.config(); cfg.output_power = true; CoreS3.begin(cfg);}
#include "M5CoreS3.h" void setup(){ auto cfg = M5.config(); // if using ext power input(Grove Port or DC input power supply) needs to be set to false. // cfg.output_power = false; CoreS3.begin(cfg); CoreS3.Display.setTextSize(2); CoreS3.Power.setChargeCurrent(200);} void loop(){ CoreS3.Display.clear(); bool bat_ischarging = CoreS3.Power.isCharging(); CoreS3.Display.setCursor(10, 30); CoreS3.Display.printf("Bat Charging: %d", bat_ischarging); int bat_vol = CoreS3.Power.getBatteryVoltage(); CoreS3.Display.setCursor(10, 50); CoreS3.Display.printf("Bat Voltage: %dmv", bat_vol); int bat_level = CoreS3.Power.getBatteryLevel(); CoreS3.Display.setCursor(10, 70); CoreS3.Display.printf("Bat Level: %d", bat_level); int vbus_vol = CoreS3.Power.getVBUSVoltage(); CoreS3.Display.setCursor(10, 90); CoreS3.Display.printf("VBus Voltage: %dmv", vbus_vol); delay(1000);}
M5CoreS3库基于M5Unified库实现, 电源部分使用了M5Unified库中的Power_Class
, 更多相关的API可以参考下方文档: