對于省電模式,STC并沒有多少的說明,但實際上,它的原理應該是和掉電差不多的,不同的是:省電模式只有CPU停止工作,其它外設是正常工作的
個人分析是這樣的:因為你在中斷中進入了省電模式,CPU馬上就停止了工作,但中斷還是在工作的,所以,程序實際上是一直停留在中斷中的,因為CPU停止工作了,那就沒法中斷返回了
省電模式和掉電模式是這樣工作的:一進入該模式之后,CPU停止工作(掉電模式外設也會停止工作),所有的IO保持進入模式前的狀態,電平不變
那么,喚醒之后,程序是馬上進入喚醒的中斷程序,執行完中斷程序之后再返回執行
//PCON |= 0x01 ;
PCON |= 0x02 ;
的下一條語句.
所以,我覺得你不應該在中斷中進入掉電或者省電模式,要在主程序中進入,一定要中斷控制的話,也是中斷控制一個標志位,再由主程序檢測標志位要不要進入掉電/省電模式 |