__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睡眠喚醒中斷不可調(diào)用flash內(nèi)代碼。
? ? ? ? ? ? LowPower_Sleep(RB_PWR_RAM30K | RB_PWR_RAM2K); //只保留30+2K SRAM 供電
? ? ? ? ? ? HSECFG_Current(HSE_RCur_100);? ? ? ? ? ? ? ? ?// 降為額定電流(低功耗函數(shù)中提升了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();,這三個函數(shù)電流就會變得很大,而且初始化時間有點久,導(dǎo)致電流表會打表,現(xiàn)在我需要怎么處理這幾個函數(shù),