移动嵌入式 WinCE 电源管理应对有技巧
2010-04-01 01:00:00 来源:WEB开发网因此,查询系统当前的电源状态是WinCE的一个重要功能,可以调用DWORD GetSystemPowerStatusEx2(PSYSTEM_POWER_STATUS_EX2,DWORD dwLen,BOOL fUpdate)来查询。函数用三个参数来告诉WinCE系统查询电池驱动最后的信息或者直接返回电池缓存中的信息,系统大约每5秒查询一次电池状态。又因为WinCE不验证电池驱动返回的数据,因此不同的系统有不同的变化,这个函数返回来的数据是主要依赖于电池驱动。例如,许多系统在使用AC电源时不报告精确的电源级数,另一些系统则相反。
(2)改变电源状态
应用程序能通过一系列的方式改变系统的电源状态,在WinCE中首选的方式是使用电源管理程序。电源管理程序提供函数来允许应用程序来控制电源状态,如应用程序通过调用函数SetSystemPowerState来请求特定的电源状态。一般有两个方式来控制电源,第一个方式是应用程序给定一个电源设定;第二个方式是应用程序请求电源状态不要低于给定的级别。
常见的例如:①关闭电源,应用程序通过调用GwesPowerOffSystem函数挂起系统,如函数void GwesPowerOffSystem(void)的调用就会挂起系统。② 关闭屏幕,如果系统是有色背光显示,那么主要的电源消耗不是CPU而是背光。在某一些环境下,一个应用程序运行时并不需要显示在屏幕上。例如音乐播放器应用程序,当用户听音乐的时候不关注屏幕,在这些情形下关闭背光将意味着提高电池寿命。当然,当用户想看屏幕时,任何关闭背光应用程序就需要一个简单的方式来重新打开屏幕。显示控制是通过Ext-Escape函数实现,这个函数允许应用程序打开或关闭显示。另外,WinCE没有一个统一的方式来控制背光的亮度,每个系统都有它自己的OEM特有方式来控制背光亮度。③打开系统电源,意思是说当被挂起的应用程序要再次运行时,必须要有一个方式来唤醒一个挂起的系统电源。方法可以是应用程序通过使用消息API(Notification API)把系统唤醒。在一般情况下,OEM厂商会分配一些中断条件以便电源打开或唤醒。
(3)防止系统关闭电源
另一方面,防止系统挂起也是一个重要的问题。WinCE系统通常被设置为当一段时间没有用户输入就自动挂起。因此,如果定时器到达预先的没有用户输入的间隔,系统会自动挂起。当要防止自动挂起时,应用程序可以周期性地调用这个函数:void
- ››移动用户体验设计:iOS APP体验设计
- ››移动互联网十大战争二:Android与WM之争
- ››嵌入式实时程序设计中C/C++代码的优化
- ››wince 绘图中使用橡皮擦
- ››Wince中Silverlight程序的中文显示
- ››Wince上开发Silverlight程序的利器:xaml2cpp
- ››WinCe和Windows Mobile下的Unicode和ANSI字符串转...
- ››WINCE应用的UI实现:几种UI实现方案比较
- ››移动游戏市场收入8.5亿美元 iOS受热捧
- ››移动存储安全
- ››移动市场报告:HTC与MOTO领衔Android
- ››移动应用开发的最佳智能手机系统是谁
更多精彩
赞助商链接