电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

Sleep Timer与Power Mode唤醒

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

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

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

 

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

l         清除Sleep Timer Interrupt Flag;

l         假如是进入Power Mode 1,须重新设置main clock source(而且必须设为crystal);Power Mode 2和PM0则都不需要重新设置;(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();

  }

博主
lanzhoo
lanzhoo's Blog
lanzhoo
点击跳转