CH582、CH585、CH592低电压监控

一、低精度监控

 初始化调用:

    PowerMonitor(ENABLE,LPLevel_2V5);//设置低于2.5V触发中断
    PFIC_EnableIRQ(WDOG_BAT_IRQn);//使能电压监控中断

中断服务函数:

__INTERRUPT
__HIGH_CODE
void WDOG_BAT_IRQHandler(void)
{
    if(R8_BAT_STATUS & RB_BAT_STAT_LOW)//等电压恢复
    {
       PRINT("Low Power Level...\n");
    }
}

 

二、高精度监控

初始化调用:

    PowerMonitor(ENABLE,HALevel_2V5); //设置高精度触发
    PFIC_EnableIRQ(NMI_IRQn);//使能NMI中断

中断服务函数:

__INTERRUPT
__HIGH_CODE
void NMI_Handler(void)
{
  if(R8_BAT_STATUS & RB_BAT_STAT_LOWER) //等电压恢复
  {
    PRINT("Low Power Level...\n\n");
  }
}

 

三、低压中断唤醒,BAT

初始化调用,添加唤醒源配置,且LowPower_Sleep休眠方式函数中,需屏蔽(R8_BAT_DET_CTRL = 0; // 关闭电压监控);

    PowerMonitor(ENABLE,HALevel_2V5); //设置高精度触发
    PFIC_EnableIRQ(NMI_IRQn);//使能NMI中断
    PWR_PeriphWakeUpCfg(ENABLE, RB_SLP_BAT_WAKE, Long_Delay);//设置BAT唤醒

posted @ 2025-06-05 14:42  oTvTo  阅读(90)  评论(0)    收藏  举报