chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Windows Mobile的系統(tǒng)電源狀態(tài)和電源管理策略

454398 ? 來(lái)源:博客園 ? 作者:Jason's Scribble ? 2020-10-05 17:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本篇將以Windows Mobile為例介紹Windows CE電源管理的實(shí)現(xiàn),大體上,Windows Mobile分為Pocket PC和Smartphone兩種版本。這兩者之間的主要區(qū)別在于觸摸屏和電源模型,Smartphone采用的是“Always On”模型。為了說(shuō)清楚它們的區(qū)別,我們就先從系統(tǒng)電源狀態(tài)說(shuō)起吧(這里有些系統(tǒng)電源狀態(tài)是從WM5開(kāi)始才有的)。

1. Windows Mobile的系統(tǒng)電源狀態(tài)

On:用戶(hù)與系統(tǒng)交互時(shí)的狀態(tài);

BacklightOff:在一段時(shí)間內(nèi)(默認(rèn)15秒),如果一直沒(méi)有用戶(hù)操作(比如按下某個(gè)鍵或者觸摸屏幕),就關(guān)閉背光,這時(shí)其他的設(shè)備都沒(méi)變化。這個(gè)timeout值可以通過(guò)控制面板進(jìn)行設(shè)置;

UserIdle:這個(gè)狀態(tài)只在Smartphone中被使用。經(jīng)過(guò)一段稍長(zhǎng)的時(shí)間,如果一直沒(méi)有用戶(hù)操作,就關(guān)閉背光和LCD。這個(gè)timeout值可以通過(guò)控制面板進(jìn)行設(shè)置;

ScreenOff:一般由某些程序指定,才進(jìn)入這個(gè)狀態(tài)。比如音樂(lè)播放器程序,當(dāng)你聽(tīng)音樂(lè)時(shí)按下某個(gè)鍵可以將屏幕關(guān)閉。PocketPC和Smartphone都使用這個(gè)狀態(tài),它與UserIdle的不同在于,ScreenOff意味著“用戶(hù)主動(dòng)關(guān)閉了顯示,只有當(dāng)他按下電源鍵時(shí)才重新顯示”,而UserIdle意味著“用戶(hù)有段時(shí)間沒(méi)操作了,那么我們可以關(guān)閉屏幕來(lái)省電”,所以在UserIdle時(shí),隨便按下Smartphone的哪個(gè)鍵都會(huì)啟動(dòng)顯示;

Suspend:這是PocketPC的睡眠模式,幾乎所有設(shè)備都被關(guān)閉,直到某個(gè)硬件設(shè)備觸發(fā)中斷才將系統(tǒng)喚醒,這個(gè)timeout值可以通過(guò)控制面板進(jìn)行設(shè)置(默認(rèn)為3分鐘);

Resuming:這是PocketPC被喚醒后的狀態(tài),這時(shí)屏幕是關(guān)閉的,并啟動(dòng)一個(gè)15秒的計(jì)時(shí)器,在這段時(shí)間內(nèi)決定接下來(lái)進(jìn)入哪個(gè)狀態(tài),如果計(jì)時(shí)器超時(shí)則重新回到睡眠狀態(tài);

Unattended:這個(gè)狀態(tài)只在PocketPC中被使用,用戶(hù)對(duì)其不會(huì)有所察覺(jué)。有些程序,如ActiveSync每5分鐘會(huì)喚醒系統(tǒng)進(jìn)行同步,同步完成后再讓系統(tǒng)繼續(xù)睡眠,這段時(shí)間不希望打擾用戶(hù),即程序在后臺(tái)執(zhí)行。

可以通過(guò)注冊(cè)表查看系統(tǒng)電源狀態(tài)對(duì)應(yīng)的具體設(shè)備的電源狀態(tài),[HLM\System\CurrentControlSet\Control\Power\State]。

現(xiàn)在我們知道,Smartphone沒(méi)有真正的睡眠模式,即使它會(huì)在一段時(shí)間后關(guān)閉背光和屏幕,但它并沒(méi)有睡著,只是休息一下眼睛罷了,它的大腦和四肢仍在正常工作。PocketPC所采用的模型比Smartphone要復(fù)雜的多,你可以按下電源鍵讓系統(tǒng)睡眠,在必要時(shí),也可以喚醒系統(tǒng)做一些工作然后再繼續(xù)睡眠。如果你在Smartphone上運(yùn)行一個(gè)桌面精靈之類(lèi)的程序,她為了引起你的注意,長(zhǎng)時(shí)間的蹦啊跳啊,不管白天還是黑夜,可想而知,你的待機(jī)時(shí)間將......

你可能會(huì)覺(jué)得PocketPC的“Sleep”模型比Smartphone的“Always On”模型要省電,其實(shí)恰恰相反。因?yàn)樵谙到y(tǒng)睡眠的過(guò)程中,它需要通知所有的設(shè)備驅(qū)動(dòng),為了讓它們保存一些重要的信息并關(guān)閉相應(yīng)的硬件設(shè)備,在系統(tǒng)被喚醒時(shí)也需要通知它們恢復(fù)先前的工作。這個(gè)過(guò)程不僅耗時(shí)還可能會(huì)耗更多的電,因?yàn)橐恍┰O(shè)備在頻繁的狀態(tài)轉(zhuǎn)換過(guò)程中會(huì)消耗比較多的能量。這也就是為什么當(dāng)你收到一條短信時(shí),睡眠狀態(tài)的PocketPC要花3到6秒的時(shí)間來(lái)處理,而Smartphone只需要幾個(gè)微秒:)

2. Windows Mobile的電源管理策略

我們可以用系統(tǒng)電源狀態(tài)機(jī)來(lái)簡(jiǎn)單的描述Windows Mobile的電源管理策略,以PocketPC為例,系統(tǒng)電源狀態(tài)機(jī)如下圖所示:

系統(tǒng)內(nèi)部的電源管理器負(fù)責(zé)協(xié)調(diào)電源狀態(tài)的轉(zhuǎn)換,電源狀態(tài)的轉(zhuǎn)換主要由一下幾種方式觸發(fā):

計(jì)時(shí)器超時(shí):SuspendTimeout和ResumingSuspendTimeout,分別對(duì)應(yīng)于第一節(jié)介紹Suspend和Resuming狀態(tài)時(shí)所提到的計(jì)時(shí)器。細(xì)說(shuō)起來(lái),它們每個(gè)又有兩個(gè)值,分別對(duì)應(yīng)著電源供電時(shí)和電池供電時(shí)的超時(shí)值,也就是注冊(cè)表[HLM\System\CurrentControlSet\Control\Power\Timeout]中的ACSuspendTimeout、BattSuspendTimeout、ACResumingSuspendTimeout、BattResumingSuspendTimeout;

系統(tǒng)調(diào)用:驅(qū)動(dòng)程序或應(yīng)用程序通過(guò)相應(yīng)的API,請(qǐng)求進(jìn)入某種電源狀態(tài)。這類(lèi)API在前面的文章中已經(jīng)有所介紹,如SetSystemPowerState、SetPowerRequirement、DevicePowerNotify等;

平臺(tái)相關(guān)的系統(tǒng)調(diào)用:通過(guò)PowerPolicyNotify通知電源管理器發(fā)生了某個(gè)事件,它的實(shí)現(xiàn)比較靈活,驅(qū)動(dòng)程序或應(yīng)用程序可以通過(guò)相應(yīng)的參數(shù)與電源管理器進(jìn)行交互,比如PPN_POWERCHANGE、PPN_SUSPENDKEYPRESSED、PPN_UNATTENDEDMODE等,參見(jiàn)"pmpolicy.h";

直接訪(fǎng)問(wèn)內(nèi)核對(duì)象:事件(Event)作為Windows CE系統(tǒng)的內(nèi)核對(duì)象,可以通過(guò)事件名稱(chēng)在進(jìn)程間共享,因此我們可以訪(fǎng)問(wèn)電源管理器中的兩個(gè)事件,它們的名字分別是_T("PowerManager/ReloadActivityTimeouts")、_T("PowerManager/SystemIdleTimerReset")。如果你的程序需要?jiǎng)討B(tài)修改那幾個(gè)計(jì)時(shí)器的時(shí)間長(zhǎng)度,可以通過(guò)第一個(gè)事件通知電源管理器重新讀取注冊(cè)表中計(jì)時(shí)器的值,而第二個(gè)事件與SystemIdleTimerReset功能一樣,可以阻止系統(tǒng)進(jìn)入睡眠狀態(tài)。

3. Windows Mobile電源管理相關(guān)API的應(yīng)用

最后,通過(guò)幾個(gè)應(yīng)用場(chǎng)景簡(jiǎn)單介紹一下常用的電源管理相關(guān)的API的使用:

如果你在設(shè)計(jì)的是媒體播放器程序,不希望在播放電影時(shí),系統(tǒng)自動(dòng)轉(zhuǎn)入Suspend狀態(tài),這時(shí)可以每隔30秒調(diào)用一次SystemIdleTimerReset,它會(huì)幫你重置那個(gè)計(jì)時(shí)器;如果你還想同時(shí)保持背光,那么可以調(diào)用SetPowerRequirement(TEXT("BKL1:"), D0, POWER_NAME, NULL, 0);如果你提供一個(gè)按鈕允許用戶(hù)關(guān)閉屏幕,那么調(diào)用SetSystemPowerState(NULL, POWER_STATE_IDLE, 0);

如果你在設(shè)計(jì)的是天氣預(yù)報(bào)程序,需要每天早上6點(diǎn)在線(xiàn)更新天氣信息,這時(shí)可以調(diào)用CeRunAppAtTime,系統(tǒng)到時(shí)會(huì)被RTC中斷喚醒,還記得前面提到的那個(gè)15秒的計(jì)時(shí)器嗎,這時(shí)你的程序應(yīng)該在15秒內(nèi)請(qǐng)求進(jìn)入U(xiǎn)nattended狀態(tài),否則系統(tǒng)將重新回到睡眠狀態(tài)。在處理更新的過(guò)程中,還是應(yīng)該每隔30秒調(diào)用一次SystemIdleTimerReset,在處理完更新后,應(yīng)該再次調(diào)用CeRunAppAtTime,并放棄Unattended狀態(tài)。請(qǐng)注意,在電源管理器的實(shí)現(xiàn)代碼中,用了一個(gè)引用計(jì)數(shù)的變量(gdwUnattendedModeRequests)統(tǒng)計(jì)所有對(duì)Unattended狀態(tài)的請(qǐng)求,所以PowerPolicyNotify(PPN_UNATTENDEDMODE, TRUE);和PowerPolicyNotify(PPN_UNATTENDEDMODE, FALSE);要成對(duì)出現(xiàn),否則系統(tǒng)將無(wú)法回到睡眠狀態(tài)。

如果你要開(kāi)發(fā)一個(gè)監(jiān)控電池狀態(tài)的程序,首先應(yīng)該創(chuàng)建一個(gè)接收狀態(tài)通知的線(xiàn)程,在這個(gè)線(xiàn)程里調(diào)用RequestPowerNotifications,這個(gè)函數(shù)的第一個(gè)參數(shù)是一個(gè)消息隊(duì)列的句柄,所以必須先創(chuàng)建一個(gè)消息隊(duì)列(CreateMsgQueue),第二個(gè)參數(shù)是你希望得到的通知類(lèi)型,這里要用到的是PBT_POWERSTATUSCHANGE|PBT_POWERINFOCHANGE,然后線(xiàn)程就可以等待通知了(WaitForSingleObject),一旦有通知到來(lái),線(xiàn)程通過(guò)ReadMsgQueue讀取消息的內(nèi)容,再做些更新UI的工作。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 電源管理
    +關(guān)注

    關(guān)注

    117

    文章

    6588

    瀏覽量

    147624
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3697

    瀏覽量

    93315
  • 計(jì)時(shí)器
    +關(guān)注

    關(guān)注

    1

    文章

    434

    瀏覽量

    34932
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    nRF54L15 如何自動(dòng)管理電源狀態(tài)

    1:nRF54L15 上的所有線(xiàn)程都處于空閑狀態(tài)且外設(shè)都已關(guān)閉,則設(shè)備會(huì)在 藍(lán)牙廣播間隔結(jié)束后自動(dòng)進(jìn)入系統(tǒng) ON-IDLE(睡眠)模式 nRF54L15 的電源和時(shí)鐘管理單元可自動(dòng)
    的頭像 發(fā)表于 11-29 23:49 ?254次閱讀
    nRF54L15 如何自動(dòng)<b class='flag-5'>管理</b><b class='flag-5'>電源</b><b class='flag-5'>狀態(tài)</b>

    電源管理芯片常見(jiàn)術(shù)語(yǔ)

    PMIC (Power Management Integrated Circuit):電源管理集成電路,一種集成多個(gè)電源管理功能的芯片,通常用于為各種電子設(shè)備提供穩(wěn)定的
    的頭像 發(fā)表于 09-17 16:07 ?948次閱讀

    華納云服務(wù)器Linux系統(tǒng)電源管理與節(jié)能優(yōu)化配置方法

    在云計(jì)算時(shí)代,Linux系統(tǒng)電源管理優(yōu)化成為提升云服務(wù)器能效的關(guān)鍵環(huán)節(jié)。本文將深入解析Linux內(nèi)核的電源管理機(jī)制,從CPU調(diào)頻
    的頭像 發(fā)表于 08-21 15:09 ?622次閱讀

    電源噪聲的來(lái)源與應(yīng)對(duì)策略

    在電子系統(tǒng)的復(fù)雜海洋中,電源噪聲如同隱匿的暗礁,悄無(wú)聲息地威脅著系統(tǒng)的穩(wěn)定運(yùn)行。從精密的消費(fèi)電子產(chǎn)品到龐大的工業(yè)控制系統(tǒng),電源噪聲的影響無(wú)處
    的頭像 發(fā)表于 08-04 10:45 ?1894次閱讀
    <b class='flag-5'>電源</b>噪聲的來(lái)源與應(yīng)對(duì)<b class='flag-5'>策略</b>

    用于 SkyBlue? 系統(tǒng)電源管理 IC skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()用于 SkyBlue? 系統(tǒng)電源管理 IC相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有用于 SkyBlue? 系統(tǒng)電源
    發(fā)表于 07-24 18:32
    用于 SkyBlue? <b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>電源</b><b class='flag-5'>管理</b> IC skyworksinc

    基于 ASP3605 電源芯片的性能優(yōu)化與 ITH 調(diào)試策略

    的 ITH 管腳調(diào)試,深入探討其對(duì)電源性能的多方面影響,并通過(guò)嚴(yán)謹(jǐn)?shù)膶?shí)驗(yàn)驗(yàn)證和理論分析,提出一套系統(tǒng)性的優(yōu)化策略,旨在確保電源轉(zhuǎn)換器在不同工作條件下均能達(dá)到穩(wěn)定、高效的性能要求,為
    的頭像 發(fā)表于 07-14 10:13 ?490次閱讀
    基于 ASP3605 <b class='flag-5'>電源</b>芯片的性能優(yōu)化與 ITH 調(diào)試<b class='flag-5'>策略</b>

    智能電源管理新篇章:Air8000技術(shù)驅(qū)動(dòng)能效革命

    ,電源管理已成為智能設(shè)備的核心競(jìng)爭(zhēng)力。優(yōu)秀的電源管理系統(tǒng),如同物聯(lián)網(wǎng)設(shè)備的生命線(xiàn): ? 保障設(shè)備安全 防止過(guò)充、過(guò)放、過(guò)溫,避免起火爆炸(代
    的頭像 發(fā)表于 07-06 15:34 ?321次閱讀
    智能<b class='flag-5'>電源</b><b class='flag-5'>管理</b>新篇章:Air8000技術(shù)驅(qū)動(dòng)能效革命

    功率MOS管在電源管理場(chǎng)景下的發(fā)熱原因分析

    故障。合科泰帶您深入理解功率MOS管在電源管理場(chǎng)景下的發(fā)熱原因,助力工程師優(yōu)化電源設(shè)計(jì)、提高系統(tǒng)穩(wěn)定性。 發(fā)熱原理 電源
    的頭像 發(fā)表于 06-25 17:38 ?452次閱讀
    功率MOS管在<b class='flag-5'>電源</b><b class='flag-5'>管理</b>場(chǎng)景下的發(fā)熱原因分析

    多通道電源管理芯片在分布式能源系統(tǒng)中的優(yōu)化策略

    摘要: 隨著分布式能源系統(tǒng)的廣泛應(yīng)用,對(duì)電源管理芯片的性能要求日益提升。本文深入探討了多通道電源管理芯片在分布式能源
    的頭像 發(fā)表于 05-16 15:22 ?644次閱讀

    ?Xyber-BMS?(智能電源管理系統(tǒng))解析

    Xyber-BMS(智能電源管理系統(tǒng)) 是一種結(jié)合先進(jìn)算法、傳感器技術(shù)和物聯(lián)網(wǎng)(IoT)的電源管理解決方案,旨在優(yōu)化能源使用效率、延長(zhǎng)電池壽
    的頭像 發(fā)表于 03-18 11:01 ?1840次閱讀

    淺談電力光伏混合儲(chǔ)能系統(tǒng)的能量策略研究

    本文提出了一種針對(duì)電源系統(tǒng)的靈活電源管理策略,可以在含有電池轉(zhuǎn)換器和光伏逆變器的系統(tǒng)中*效地使用
    的頭像 發(fā)表于 03-07 13:55 ?731次閱讀
    淺談電力光伏混合儲(chǔ)能<b class='flag-5'>系統(tǒng)</b>的能量<b class='flag-5'>策略</b>研究

    PMU電源管理芯片CN8911B適用于超級(jí)電容備電的電源系統(tǒng)

    PMU電源管理芯片CN8911B適用于超級(jí)電容備電的電源系統(tǒng)
    的頭像 發(fā)表于 01-23 09:11 ?1247次閱讀
    PMU<b class='flag-5'>電源</b><b class='flag-5'>管理</b>芯片CN8911B適用于超級(jí)電容備電的<b class='flag-5'>電源</b><b class='flag-5'>系統(tǒng)</b>

    AN153-用于電源系統(tǒng)管理的Linduino

    電子發(fā)燒友網(wǎng)站提供《AN153-用于電源系統(tǒng)管理的Linduino.pdf》資料免費(fèi)下載
    發(fā)表于 01-12 10:03 ?0次下載
    AN153-用于<b class='flag-5'>電源</b><b class='flag-5'>系統(tǒng)管理</b>的Linduino