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();
}