如何让wince支持自动IDLE、sleep模式?

  作者:wogoyixikexie@gliet 2009-03-26  16:54:34

经过Ricky_hu老兄指点,了解了进入IDLE的方法,哈哈,只要配置一下注册表,并且系统加入了PM.dll即可。现在拿出来分享

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Power/Timeouts]
; @CESYSGEN IF PM_PM_DEFAULT_PDD    
    "ACUserIdle"=dword:B4   ;3c ; in
    "ACSystemIdle"=dword:0      ; in
    "ACSuspend"=dword:0         ; in
    "BattUserIdle"=dword:B4 ;3c ; in
    "BattSystemIdle"=dword:0    ; in
    "BattSuspend"=dword:0       ; in
; @CESYSGEN ENDIF ; PM_PM_DEFAULT_PDD

 

  这样,系统就会在注册表规定的时间里面进入IDLE模式,实现省电。注意"ACSuspend"=dword:0 是禁止的不是立即进入IDLE模式。还有,一旦有中断产生就会退出IDLE模式,进入Normal模式。这个在2440的数据手册有说明。

 

 wogoyixikexie@gliet 说:
IDLE mode: The block disconnects clocks (FCLK) only to the CPU core while it supplies clocks to all other
peripherals. The IDLE mode results in reduced power consumption due to CPU core. Any interrupt request to CPU can be woken up from the Idle mode.
wogoyixikexie@gliet 说:
并且我手动设置进入空闲模式,因为产生了触摸屏中断,寄存器的值立即又变回非空闲了
CSDN-Ricky_hu北京 说:
触摸屏肯定是可以唤醒的,因为你有操作
CSDN-Ricky_hu北京 说:
你可以看看useractivity这个event

 

  那如是实现2440的sleep呢?其实通过注册表也是可行的。现在来看看

; Disable Suspend,因为我现在的bootloader和BSP还不支持休眠唤醒,所以注册表中禁止了
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Power]
 "BattPowerOff"=dword:0
 "ExtPowerOff"=dword:0
 "WakeupPowerOff"=dword:0
 "ScreenPowerOff"=dword:0
; @CESYSGEN ENDIF WCESHELLFE_MODULES_EXPLORER

 

其实,自动进入休眠对我来说没有多大的意义。我的机子是要长期工作的,手动休眠合适。

希望明天可以完成手动休眠唤醒的功能。Come On!

  关于电源管理关的注册表说明请看PB帮助吧。

 

 

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值