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可以参考下方文档: