低功耗应用
📎 原始文档:https://www.kdocs.cn/l/cvEwXdcQOzmZ 低功耗应用
- 动态开关低功耗 添加下面的代码到SDK中,底层会自行调用
static u8 led_idle_query(void)
{
return 0;//可自行添加状态判断,需要进低功耗return 1,否则return 0。
}
REGISTER_LP_TARGET(led_lp_target) = {
.name = "led",
.is_idle = led_idle_query,
};
- 低功耗下不关晶振不关DCDC的方法 20220826 FSW 使用轻量级低功耗模式,需要重新测试功耗,按照下面的方法修改
#define TCFG_LOWPOWER_LIGHT_SLEEP_ATTRIBUTE LOWPOWER_LIGHT_SLEEP_ATTRIBUTE_KEEP_CLOCK //低功耗LIGHT模式属性, 可以选择是否保持住一些电源和时钟
添加代码
u8 dac_keep_idle_query(void)
{
return 1;// 1是可以进入低功耗,0是不允许进低功耗
}
enum LOW_POWER_LEVEL dac_keep_level_query(void)
{
//这里只是demo,条件根据自己的需求改
return LOW_POWER_MODE_LIGHT_SLEEP; //进入轻量级低功耗,会不关一些模块的电源
// return LOW_POWER_MODE_SLEEP;//进入正常模式低功耗
}
REGISTER_LP_TARGET(dac_keep_lp_target) = {
.name = "dac_keep",
.level = dac_keep_level_query,
.is_idle = dac_keep_idle_query,
};