当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] WINCE的电源管理不但提供了对设备驱动的接口,也提供了对应用程序的接口。也就是说应用程序可以通过这些接口控制电源管理模块来管理设备和系统的电源状态。有两个方式来控

 WINCE电源管理不但提供了对设备驱动的接口,也提供了对应用程序的接口。也就是说应用程序可以通过这些接口控制电源管理模块来管理设备和系统的电源状态。

有两个方式来控制电源。第一个方式是应用程序给定一个电源设定。第二个方式是应用程序请求电源状态不要低于给定的级别。

第一种方式以下几种API:

GetSystemPowerState()

SetSystemPowerState()

GetDevicePower()

SetDevicePower()

第二种方式的API:

SetPowerRequirement()

ReleasePowerRequirement()

第二种机制为应用程序提供了强大的能力控制电源管理器调整设备的电源等级,与其他所有的电源设置相比,它具有很高的优先级。举例来说,假设有一个条形码阅读器连接在COM1端口,并且COM1只有在最高电源等级(D0)时才能驱动这个条形码阅读器。为了使其正常工作,应用程序将调用SetPowerRequirement把COM1指定D0状态。假设之后串口驱动自身决定降低一个电源等级,驱动调用DevicePowerNotify通知电源管理器它期望的设备电源状态,驱动程序的这个请求将不起作用,直到应用程序调用ReleasePowerRequirement为止。继续这个例子,假设这时的系统电源状态转换为低能耗等级,虽然与之相关的COM1电源等级为D3,由于应用程序的电源请求,COM1将继续维持在D0状态。

在调用SetPowerRequirement函数时,指定POWER_FORCE标志将强制设备不进入休眠状态,即使这时系统已处于休眠状态。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭