每次喚醒AWU 中斷標志一定要清除
__interrupt void AWU_IRQHandler(void) { AWU->CSR = AWU->CSR; /* 清除更新中斷標志位 */ }
void Enter_Halt() { CLK_DeInit(); AWU_DeInit(); AWU_Cmd(ENABLE); CLK_SlowActiveHaltWakeUpCmd(ENABLE);//進入超低功耗模式 AWU_Init(AWU_TIMEBASE_2S); asm("halt"); }
執行asm("halt")后CPU停機,停機之前要把所有耗電的功能全部關閉。
喚醒之后將執行asm("halt")之后的語句,而不是從main()開始