您的位置:首页 > 其它

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

2009-06-17 11:06 253 查看
转自:http://blog.csdn.net/gooogleman/archive/2009/03/26/4027084.aspx

经过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帮助吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐