__HIGH_CODE
void Main_Circulation()
{
while(1)
{
if(Times > 2)
{
LClk32K_Select(Clk32K_LSE);
PFIC_DisableIRQ( TMR0_IRQn );
RTC_TRIGFunCfg(32768*1); //32768为1s 定时1s唤醒
PFIC_EnableIRQ(RTC_IRQn); //使能中断
GPIOB_ModeCfg(GPIO_Pin_15, GPIO_ModeIN_PU);
GPIOB_ITModeCfg(GPIO_Pin_15, GPIO_ITMode_FallEdge); // 下降沿唤醒
PFIC_EnableIRQ(GPIO_B_IRQn);
PWR_PeriphWakeUpCfg(ENABLE, RB_SLP_GPIO_WAKE|RB_SLP_RTC_WAKE, Long_Delay);
RF_Shut();
// 注意当主频为80M时,Sleep睡眠唤醒中断不可调用flash内代码。
LowPower_Sleep(RB_PWR_RAM30K | RB_PWR_RAM2K); //只保留30+2K SRAM 供电
HSECFG_Current(HSE_RCur_100); // 降为额定电流(低功耗函数中提升了HSE偏置电流)
Times = 0;
if(RX_LEN)memset((uint8_t*)RX_BUF,0,sizeof(RX_BUF));
PFIC_EnableIRQ( TMR0_IRQn );
// RF_RoleInit();
// Set_Frequency();
}
// TMOS_SystemProcess();
}
}
芯片睡眠1s,然后运行 3ms,但是开启 RF_RoleInit(); Set_Frequency();TMOS_SystemProcess();,这三个函数电流就会变得很大,而且初始化时间有点久,导致电流表会打表,现在我需要怎么处理这几个函数,