<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 移動(dòng)嵌入式WinCE電源管理應對有技巧

移動(dòng)嵌入式WinCE電源管理應對有技巧

作者: 時(shí)間:2011-03-16 來(lái)源:網(wǎng)絡(luò ) 收藏
POWER_STATUS_EX2,DWORD dwLen,BOOL fUpdate)來(lái)查詢(xún)。函數用三個(gè)參數來(lái)告訴WinCE系統查詢(xún)電池驅動(dòng)最后的信息或者直接返回電池緩存中的信息,系統大約每5秒查詢(xún)一次電池狀態(tài)。又因為WinCE不驗證電池驅動(dòng)返回的數據,因此不同的系統有不同的變化,這個(gè)函數返回來(lái)的數據是主要依賴(lài)于電池驅動(dòng)。例如,許多系統在使用AC電源時(shí)不報告精確的電源級數,另一些系統則相反。

(2)改變電源狀態(tài)

應用程序能通過(guò)一系列的方式改變系統的電源狀態(tài),在WinCE中首選的方式是使用電源管理程序。電源管理程序提供函數來(lái)允許應用程序來(lái)控制電源狀態(tài),如應用程序通過(guò)調用函數SetSystemPowerState來(lái)請求特定的電源狀態(tài)。一般有兩個(gè)方式來(lái)控制電源,第一個(gè)方式是應用程序給定一個(gè)電源設定;第二個(gè)方式是應用程序請求電源狀態(tài)不要低于給定的級別。

常見(jiàn)的例如:①關(guān)閉電源,應用程序通過(guò)調用GwesPowerOffSystem函數掛起系統,如函數void GwesPowerOffSystem(void)的調用就會(huì )掛起系統。② 關(guān)閉屏幕,如果系統是有色背光顯示,那么主要的電源消耗不是CPU而是背光。在某一些環(huán)境下,一個(gè)應用程序運行時(shí)并不需要顯示在屏幕上。例如音樂(lè )播放器應用程序,當用戶(hù)聽(tīng)音樂(lè )的時(shí)候不關(guān)注屏幕,在這些情形下關(guān)閉背光將意味著(zhù)提高電池壽命。當然,當用戶(hù)想看屏幕時(shí),任何關(guān)閉背光應用程序就需要一個(gè)簡(jiǎn)單的方式來(lái)重新打開(kāi)屏幕。顯示控制是通過(guò)Ext-Escape函數實(shí)現,這個(gè)函數允許應用程序打開(kāi)或關(guān)閉顯示。另外,WinCE沒(méi)有一個(gè)統一的方式來(lái)控制背光的亮度,每個(gè)系統都有它自己的OEM特有方式來(lái)控制背光亮度。③打開(kāi)系統電源,意思是說(shuō)當被掛起的應用程序要再次運行時(shí),必須要有一個(gè)方式來(lái)喚醒一個(gè)掛起的系統電源。方法可以是應用程序通過(guò)使用消息API(Notification API)把系統喚醒。在一般情況下,OEM廠(chǎng)商會(huì )分配一些中斷條件以便電源打開(kāi)或喚醒。

(3)防止系統關(guān)閉電源

另一方面,防止系統掛起也是一個(gè)重要的問(wèn)題。WinCE系統通常被設置為當一段時(shí)間沒(méi)有用戶(hù)輸入就自動(dòng)掛起。因此,如果定時(shí)器到達預先的沒(méi)有用戶(hù)輸入的間隔,系統會(huì )自動(dòng)掛起。當要防止自動(dòng)掛起時(shí),應用程序可以周期性地調用這個(gè)函數:void WINAPI SystemIdleTimerReset (void),這個(gè)函數能重設WinCE用來(lái)監視用戶(hù)輸入的定時(shí)器。所以當一個(gè)應用程序需要更改超時(shí)值時(shí),就可以通過(guò)調用SystemIdleTimerReset把掛起超時(shí)值改變。一般來(lái)說(shuō),WinCE系統維護三個(gè)超時(shí)值,防止電源被自動(dòng)掛起可以使用SystemParametersInfo來(lái)查詢(xún)這三個(gè)值,并在最短時(shí)間內返回調用SystemIdleTimerReset。如果超時(shí)值被設置為0,表示超時(shí)值被禁止。

(4)電源通知

最后,電源管理程序還有一個(gè)十分受歡迎的特點(diǎn),就是可以在系統電源狀態(tài)改變時(shí)通知應用程序,這可以讓?xiě)贸绦驈氖謩?dòng)檢測電源狀態(tài)中解脫出來(lái)。應用程序通過(guò)調用RequestPowerNotifications請求電源管理程序當電源狀態(tài)改變的時(shí)候,發(fā)送一個(gè)通知給應用程序,電源管理程序再通過(guò)一個(gè)由應用程序建立的消息隊列發(fā)送此通知。

總之,嵌入式電源管理在WinCE系統是一個(gè)快速發(fā)展的研究課題。它對移動(dòng)嵌入式產(chǎn)品的設計具有關(guān)鍵性影響,一個(gè)高效的電源管理設計可以幫助移動(dòng)嵌入式產(chǎn)品在市場(chǎng)競爭中脫穎而出,克敵制勝。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>