2.7. 电源参数配置
2.7.1. power_param
电源参数配置,初始化电源、低功耗模块。
struct low_power_param {
//---------------power_config
u8 vddiom_lev; //vddiom电压
u8 vddiow_lev; //vddiow电压
//--------------lowpower
u8 config; //低功耗使能,蓝牙&&系统空闲可进入低功耗
u8 osc_type; //低功耗晶振类型,btosc/lrc
u32 btosc_hz; //蓝牙晶振频率
u32 osc_delay_us; //低功耗晶振起振延时,为预留配置。
u8 lptmr_flow; //低功耗时序参数,不配置
u32 t1;
u32 t2;
u32 t3_lrc;
u32 t4_lrc;
u32 t3_btosc;
u32 t4_btosc;
};
2.7.2. power_config_sf_vddio_keep
softoff模式保持vddio,vddiow_lev不需要配置,sleep、softoff模式会保持电压。
softoff模式不保持vddio,vddiow_lev需要配置,即为软关机的电压。
原型:
void power_config_sf_vddio_keep(u8 type)
参数:
type
为0则软关机不保持vddio,为1则使能软关机保持vddio,程序默认保持
2.7.3. 初始化
void sleep_exit_callback()
{
putchar('>');
}
void sleep_enter_callback()
{
putchar('<');
}
void board_power_init(void)
{
//配置软关机时flash电源保持
power_config_flash_pg_keep(0);
//配置软关机及睡眠时的电源状态
power_config_sf_vddio_keep(VDDIO_KEEP_TYPE_NORMAL);
power_config_pd_vddio_keep(VDDIO_KEEP_TYPE_NORMAL);
//初始化电源、低功耗
power_init(&power_param);
//边沿唤醒初始化
power_wakeup_init(&wkup_param);
//软关机醒来释放锁
soff_latch_release();
}