首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请教9s08GT60怎么才能进入STOP3休眠状态呢?

请教9s08GT60怎么才能进入STOP3休眠状态呢?

主循环下设置Stop3模式按照datasheet上就是那么设置的。小弟不知道那边出了问题
,那位大虾能帮忙解答一下。
for(;;) {
          SOPT_STOPE=1;        /* STOP IE */
          SPMSC2=SPMSC2&~0x03;/* Enable deep sleep mode stop3. */
  } /* loop forever */ //end for
你的问题和现象是什么?
海纳百川  有容乃大

明白了

谢谢版主关心,回复的好快阿。
忘加命令了,用KBDWAIT才进入休眠状态。

SRTISC=SRTISC&~0x07; /* Disable wake up timer. */
  SPMSC2=SPMSC2&~0x03;/* Enable deep sleep mode stop3. */
  for(;;) {
          KBDWAIT;           
  } /* loop forever */ //end for

请教版主

有什么办法通常情况下MCU工作在STOP1状态下,然后周期性的MCU在STOP3状态下检测一段时间呢?(因为想用stop1状态比较省电)

[em27][em27]
设置好了以后要加上 asm STOP指令才会进入Stop模式。
你的意思是从STOP1出来再转成STOP3模式然后检测一段时间再进入STOP1? 这个稍稍有些麻烦,可以在STOP1出来以后,设置好RTI, 进入STOP3以后,到时间用RTI唤醒MCU,然后再进入STOP1
关注
与人交流,共同进步
stop1的模式下RTI已经关闭了,不能够唤醒,是不是啊? stop1是不是只能用reset唤醒阿?
对,stop1模式下无法用RTI。stop1只能用reset和IRQ(外部中断)来唤醒。
用IRQ唤醒以后程序也是要从头跑吧?
yes,等于芯片复位以后重新开始
所以要在进入STOP之前将状态标志设定好。这样退出STOP后,才能判断程序要如何走。
海纳百川  有容乃大
各位老大
我依照楼主写的程式对GT60下达SOP指令
结果我用电流表看耗电流竟然是2mA
为什麽呢? 我看datasheet内是说stop3模式耗电流应该是675nA
请大家帮个忙~为什麽会这样呢?谢谢
电流大小还要考虑电压、工作频率,在stop3模式下有些模块是可选关上或者打开的
给版主
我现在作个很简单的实验,就是单纯拿一颗gt60,外部完全没接任何东西
程序如下
SRTISC=0b00110111;
ICGC2=0b00100001;
ICGC1=0b00111100;
SRTISC=0b00010100;//Disable LVD in stop
SPMSC2=0b00000100;// Enable deep sleep mode stop1.
SOPT= 0b01100011;//COP and STOP enable controls
IRQSC=0b00010000;
PTAPE=0xEF;
PTBPE=0xFF;
PTCPE=0xFF;
PTDPE=0xFF;
PTEPE=0xFF;
PTAD=0x00;
PTBD=0x00;
PTCD=0x00;
PTDD=0x00;
PTED=0x00;
KBDWAIT;
结果还是一样没有省电...电流一样不变~这是什麽问题呢?
我工作电压3v internal osc.
是那边出问题呢?
谢谢

返回列表