回复帖子:(x10(0.0.*.*))一般不需要关闭中断,因为中断...

用户名:   *您没有注册?
密码:   *忘记论坛密码?    标题采用“回复:XXX....”
验证码 点击获取验证码
主题标题:  *不得超过 200 个汉字
当前心情
上一页 发帖表情 下一页
内容
  

主题最新回顾(发布时间:2004-11-21 0:57:00)
--  作者:x10(0.0.*.*)
--  
一般不需要关闭中断,因为中断占用的时间很少。代码是对的。长期休眠执行EnterPowerSaveMode()肯定有用,ETR100的功耗应当在80-90mA水平。

主题最新回顾(发布时间:2004-11-20 15:37:00)
--  作者:hu(0.0.*.*)
--  
函数是: 
void EnterPowerSaveMode( )
{ unsigned char IdleMode = 0x02;   //PowerdownMode=0x01;
  //unsigned char pmc;

  EnableExtIO();
  //pmc = inportb( PWRCON );
  outportb( PWRCON, IdleMode );
  //outportb( PWRCON, PowrdownMode );
  DisableExtIO();

  asm hlt
}

主题最新回顾(发布时间:2004-11-20 15:35:00)
--  作者:hu(0.0.*.*)
--  

我是为了长期休眠,人工唤醒。  这时,背光关了,因为仅它就占了整机功耗的2/3.  平时900mA  能休眠就不到100了 

不知是不是要先关掉COM、TIMER2, 0x1C 等

主题最新回顾(发布时间:2004-11-20 14:59:00)
--  作者:x10(0.0.*.*)
--  
能否先用我们提供的PWRCON.PRJ测试EnterPowerSaveMode()工作正常。采用EnterPowerSaveMode()函数降低功耗是让CPU闲置时进入PowerDown模式,由外部硬中断(包括定时器中断)唤醒CPU,来达到降低平均功耗,如果整个过程都需要CPU全速运行,频繁硬件,那么EnterPowerSaveMode()就没什么用了。

主题最新回顾(发布时间:2004-11-20 13:52:00)
--  作者:hu(0.0.*.*)
--  EnterPowerSaveMode
ETR100 + MAX749等共315mA, 关MAX749后,285mA, 估计ETR100 < 260 mA
但加了EnterPowerSaveMode后,电流仍是285, IRQ7,IRQ9都未用,也未做Install, unIns

可能是什么原因?