進入睡眠前,比如ADC,先關閉內部參考電源M0P_BGR->CR_f.BGR_EN = 0x0u;,然后關閉ADC時鐘Adc_Disable();Sysctrl_SetPeripheralGate(SysctrlPeripheralAdcBgr, FALSE);;串口先把復用功能修改為普通IO功能,再關閉串口時鐘,其他外設參考這樣。喚醒后,需要的功能再配置一下,如ADC操作Sysctrl_SetPeripheralGate(SysctrlPeripheralAdcBgr, TRUE);Adc_Enable();M0P_BGR->CR_f.BGR_EN = 0x1u;注意喚醒和進入睡眠的這幾句的順序。你這個70ua功耗也還是大,外圍硬件可能也需要優化,整個板級能降低到20ua以下。 |