你好请帮我
我用“extended_sleep”演示(DA1468x_DA15xxx_SDK_1.0.10.1072)
我需要使用1 v8p当它工作。我需要关掉1 v8p当输入“pm_mode_extended_sleep”
但使用功能”pm_set_sleep_mode (pm_mode_extended_sleep)”不能关闭1 v8p。
我发现在“sys_power_mgr。c文件- >“apply_wfi pm_mode_hibernation“函数时才关闭权力
第1510行- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
如果(pm_current_sleep_mode = = pm_mode_hibernation) {
/ *关闭1 v8和1 v8p自系统
*简历通过充电电池(一个
*复位/重启将发行的发生
* VBUS_IRQn)或更换电池。
* /
hw_cpm_ldo_io_ret_off ();
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
所以,我添加一个函数,当睡眠模式关闭1 v8p如下
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
如果(pm_current_sleep_mode = = pm_mode_extended_sleep) {
/ *把off1V8P * /
uint32_t reg = CRG_TOP - > LDO_CTRL2_REG;
如果(dg_configUSE_BOD = = 1) {
REG_CLR_BIT (CRG_TOP BOD_CTRL2_REG BOD_1V8_PA_EN);
}
REG_SET_FIELD (CRG_TOP LDO_CTRL2_REG LDO_1V8_PA_RET_DISABLE, reg, 1);
REG_CLR_FIELD (CRG_TOP, LDO_CTRL2_REG LDO_1V8_PA_ON,注册);
REG_SET_FIELD (CRG_TOP LDO_CTRL2_REG LDO_1V8_PA_RET_DISABLE, reg, 1);
CRG_TOP - > LDO_CTRL2_REG =注册;
}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
但奇怪的事情已经发生了
看下面图片是1 v8p当睡眠进入:
我不能照片
也就是说,尽管它进入睡眠模式,它不会自动停止开放1 v8p然后自动关闭。
功耗马马跳跃在0.5和0.15……
如何解决这个问题?
非常感谢!
我解决这个问题,非常感谢
我把每一个“dg_configPOWER_1V8P = = 1”添加我的国旗”(dg_configPOWER_1V8P = = 1) & & (shut_down_1v8P_Power = = false)”
当我进入睡眠模式,我把这个标志位置1,1 v8p关闭。
但库函数不关闭1 v8p函数。
建议添加在未来sdk ~
你好,
谢谢你的指示。
问候,PM_Dialog