主题:EnterPowerSaveMode 共有34594人关注过本帖 |
---|
hu |
1楼 |
EnterPowerSaveMode Post By:2004-11-20 13:52:00 [只看该作者]
ETR100 + MAX749等共315mA, 关MAX749后,285mA, 估计ETR100 < 260 mA
但加了EnterPowerSaveMode后,电流仍是285, IRQ7,IRQ9都未用,也未做Install, unIns 可能是什么原因? |
|
单帖管理 | 引用 | 回复 |
x10 |
2楼 |
Post By:2004-11-20 14:59:00 [只看该作者]
能否先用我们提供的PWRCON.PRJ测试EnterPowerSaveMode()工作正常。采用EnterPowerSaveMode()函数降低功耗是让CPU闲置时进入PowerDown模式,由外部硬中断(包括定时器中断)唤醒CPU,来达到降低平均功耗,如果整个过程都需要CPU全速运行,频繁硬件,那么EnterPowerSaveMode()就没什么用了。
|
|
单帖管理 | 引用 | 回复 |
hu |
3楼 |
Post By:2004-11-20 15:35:00 [只看该作者]
我是为了长期休眠,人工唤醒。  这时,背光关了,因为仅它就占了整机功耗的2/3.  平时900mA  能休眠就不到100了  不知是不是要先关掉COM、TIMER2, 0x1C 等 |
|
单帖管理 | 引用 | 回复 |
hu |
4楼 |
Post By:2004-11-20 15:37:00 [只看该作者]
函数是: 
void EnterPowerSaveMode( ) { unsigned char IdleMode = 0x02;   //PowerdownMode=0x01;   //unsigned char pmc;   EnableExtIO();   //pmc = inportb( PWRCON );   outportb( PWRCON, IdleMode );   //outportb( PWRCON, PowrdownMode );   DisableExtIO();   asm hlt } |
|
单帖管理 | 引用 | 回复 |
x10 |
5楼 |
Post By:2004-11-21 0:57:00 [只看该作者]
一般不需要关闭中断,因为中断占用的时间很少。代码是对的。长期休眠执行EnterPowerSaveMode()肯定有用,ETR100的功耗应当在80-90mA水平。
|
|
单帖管理 | 引用 | 回复 |