进入睡眠前,比如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以下。 |