原创 Sleep Timer与Power Mode唤醒

2008-5-29 23:15 4635 3 3 分类: MCU/ 嵌入式

之前想测试一下当使用Sleep Timer唤醒Power Mode时,Sleep Timer计数器的值,但是一直没有能够成功从Power Mode下醒过来。


经过一段尝试后,终于可以了。发现有几个措施要做。


初始化时须打开WORIRQ中的中断允许WORIRQ.EVENT0_MASK。然后必须设置IEN0.STIE,以及全局中断允许IEN0.EA


 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


退出Power Mode后,要能够重新进入并退出Power Mode,必须做以下的事情:


l         清除Sleep Timer Interrupt Flag


l         假如是进入Power Mode 1,须重新设置main clock source(而且必须设为crystal);Power Mode 2PM0则都不需要重新设置;(Power mode 3不能通过Sleep Timer唤醒)


 


  INT_GLOBAL_ENABLE(TRUE);


  INT_ENABLE(INUM_ST, INT_ON);


 


  while (1) {


    SET_POWER_MODE(1);


    P1_0 = !P1_0;


    IRCON = IRCON&0x7F;


    modSetMainClockSourceCrystal();


  }

文章评论0条评论)

登录后参与讨论
我要评论
0
3
关闭 站长推荐上一条 /2 下一条