0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

英創(chuàng)信息技術(shù)Windows CE電源管理簡介

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-01-16 09:11 ? 次閱讀

對(duì)于手持式、便攜式等移動(dòng)設(shè)備來講,為了讓設(shè)備有更長的待機(jī)和工作時(shí)間,系統(tǒng)必需具備完善的電源管理功能。英創(chuàng)公司針對(duì)手持式、電池供電設(shè)備應(yīng)用而推出的嵌入式核心主板EM9283,預(yù)裝了Windows CE6.0操作系統(tǒng),提供了完善的電源管理支持。在與EM9283配套的通用開發(fā)評(píng)估底板上測得的EM9283在各個(gè)電源狀態(tài)下的功耗指標(biāo)為:

? 系統(tǒng)正常運(yùn)行:110mA

? 系統(tǒng)掛起:8mA。通過PSwitch鍵,可在1S內(nèi)恢復(fù)到正常運(yùn)行狀態(tài)

? 系統(tǒng)關(guān)機(jī):<15uA。系統(tǒng)僅維持實(shí)時(shí)時(shí)鐘的供電,系統(tǒng)重新啟動(dòng)時(shí)間小于10S

本文將以EM9283為例,介紹用戶應(yīng)用程序如何實(shí)現(xiàn)電源管理,以減少整機(jī)功耗,延長設(shè)備工作時(shí)間。在這之前,有必要先對(duì)Windows CE系統(tǒng)的電源管理功能做一個(gè)了解。所以我們將先介紹WinCE系統(tǒng)的電源狀態(tài),然后是設(shè)備的電源狀態(tài),接著才是應(yīng)用程序電源管理。文檔的最后是一個(gè)實(shí)際的電源管理例子:LCD背光的電源管理。

1、系統(tǒng)電源狀態(tài)

上面提到了EM9283的運(yùn)行,掛起和關(guān)機(jī)三種直觀電源狀態(tài)下的功耗指示,而至Windows CE.NET 4.2版本以后的系統(tǒng)具有的高級(jí)電源管理組件:WinCE電源管理器,為系統(tǒng)定義的電源狀態(tài)如表1:

系統(tǒng)電源狀態(tài) 簡要描述
On 用戶與系統(tǒng)交互的常規(guī)運(yùn)行狀態(tài)
UserIdle 用戶與設(shè)備停止交互,但仍可能使用設(shè)備
SystemIdle 經(jīng)過一段時(shí)間UserIdle后進(jìn)入此狀態(tài),但驅(qū)動(dòng)和系統(tǒng)仍然活動(dòng)
SystemIdle 掛起狀態(tài),系統(tǒng)大部分外設(shè)關(guān)閉,僅RAM外于自刷新狀態(tài)

WinCE電源管理器維護(hù)了一個(gè)監(jiān)控用戶活動(dòng)的定時(shí)器,通過監(jiān)控這個(gè)定時(shí)器的超時(shí)來使系統(tǒng)進(jìn)入用戶空閑模式、系統(tǒng)空閑模式,最終掛起系統(tǒng)?;镜碾娫垂芾砉δ芩捎玫墓?jié)能方法是使系統(tǒng)適時(shí)的進(jìn)入掛起狀態(tài),此時(shí)系統(tǒng)RAM處于自刷新狀態(tài),整機(jī)功耗降到了較
低的水平,同時(shí)又能快速恢復(fù)到正常運(yùn)行狀態(tài)。下面的幾種方法都可以讓系統(tǒng)進(jìn)入Suspend狀態(tài):

1、監(jiān)控的用戶活動(dòng)定時(shí)器超時(shí)。通過控制面板里的電源屬性項(xiàng)設(shè)置超時(shí)時(shí)間。如圖1

圖1中設(shè)置的意圖是:在電池供電情況下,當(dāng)用戶停止操作1分鐘后,系統(tǒng)電源管理器將控制系統(tǒng)進(jìn)入用戶空閑模式,如果2分鐘后用戶仍然沒有操作,系統(tǒng)進(jìn)入系統(tǒng)空閑狀態(tài),系統(tǒng)空閑3分鐘后還是沒有用戶操作,系統(tǒng)掛起。

在用戶的最終產(chǎn)品中,由于種種原因,可能不能通過控制面板來直接設(shè)置系統(tǒng)超時(shí),或者用戶希望自己設(shè)計(jì)設(shè)置系統(tǒng)超時(shí)的界面,此時(shí)用戶應(yīng)用程序可以通過修改系統(tǒng)注冊(cè)表來實(shí)現(xiàn)與通過控制面板設(shè)置一樣的功能。具體的做法是修改[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Power\Timeouts]下面的超時(shí)時(shí)間。通過控制面板設(shè)置后的注冊(cè)表如圖2所示。

可以看到,在注冊(cè)中超時(shí)時(shí)間的單位是秒。應(yīng)用程序要利用系統(tǒng)的電源管理器,除了在控制面板中做了上述設(shè)置外,還需要在應(yīng)用程序啟動(dòng)時(shí)設(shè)置系統(tǒng)的'PowerManager/ReloadActivityTimeouts'自動(dòng)事件為有信號(hào)狀態(tài),電源管理器才會(huì)正常工作。當(dāng)在應(yīng)用程序中直接修改了對(duì)應(yīng)的Timeouts注冊(cè)表項(xiàng)后,也需要打開(或創(chuàng)建)'PowerManager/ReloadActivityTimeouts'的自動(dòng)重置事件,并SetEvent置這個(gè)事件為有信號(hào)狀態(tài),這樣可以使電源管理器再次從注冊(cè)表中讀取狀態(tài)切換定時(shí)器的設(shè)置。

HANDLE hReloadActivityTimeouts;
hReloadActivityTimeouts = OpenEvent(EVENT_ALL_ACCESS, FALSE, _T('PowerManager/ReloadActivityTimeouts'));
if(hReloadActivityTimeouts)
{
SetEvent(hReloadActivityTimeouts);
CloseHandle(hReloadActivityTimeouts);
}

2、應(yīng)用程序調(diào)用API。除了通過超時(shí)讓系統(tǒng)自動(dòng)進(jìn)入掛起狀態(tài)外,應(yīng)用程序還可以調(diào)用API函數(shù)讓系統(tǒng)掛起:SetSystemPowerState(NULL,POWER_STATE_SUSPEND,0);

3、EM9283提供了一鍵開關(guān)機(jī)PSwitch鍵。所以最直接的方法是通過PSwitch按鍵讓系統(tǒng)在掛起狀態(tài)和運(yùn)行狀態(tài)之間切換。

通過上面的三種方法讓可以讓系統(tǒng)掛起,而當(dāng)下面的一種事件發(fā)生時(shí),系統(tǒng)將退出掛起狀態(tài):

1、用戶再次按下PSwitch鍵。

2、發(fā)生某個(gè)警告事件,如時(shí)間定時(shí)器到時(shí)提醒。

3、發(fā)生某個(gè)喚醒事件。

2、設(shè)備電源狀態(tài)

雖然通過用戶操作、應(yīng)用程序或者外設(shè)都可以使系統(tǒng)進(jìn)入或退出掛起狀態(tài),但基本的電源管理功能所能控制的粒度過大,整個(gè)系統(tǒng)只有三種狀態(tài),On,Idle和Suspend,對(duì)應(yīng)于所有外設(shè)只有On和Suspend兩種狀態(tài)。加入了電源管理組件的Windows CE具有高級(jí)的電源管理功能,它允許每個(gè)外設(shè)具有自己的電源狀態(tài)——設(shè)備電源狀態(tài)。應(yīng)用程序有能力單獨(dú)設(shè)置外設(shè)的電源狀態(tài),比如在保持串口通訊時(shí),關(guān)閉顯示和背光。Wince通常對(duì)設(shè)備電源狀態(tài)的描述如表2:

設(shè)備電源狀態(tài) 注冊(cè)表鍵值 描述
Full on D0 此狀態(tài)表示設(shè)備已開啟或正在運(yùn)行,設(shè)備將以系統(tǒng)允許的最在功耗及最高性能運(yùn)行
Low on D1 此狀態(tài)表示設(shè)備已開啟或正在運(yùn)行,但以低于D0狀態(tài)的功耗及性能運(yùn)行。D1狀態(tài)適用于設(shè)備已經(jīng)被使用,但以較低的性能運(yùn)行即可
Standby D2 此狀態(tài)表示設(shè)備被部份供電
Sleep D3 睡眠狀態(tài)。保證喚醒的最小供電,在需要時(shí)能自動(dòng)喚醒并初始化
off D4 關(guān)閉狀態(tài),不供電

物理設(shè)備并不需要支持上面所有的設(shè)備電源狀態(tài),但所有設(shè)備必需要支持D0電源狀態(tài),EM9283上的各種外設(shè),如背光、顯示等至少支持D0和D4兩種狀態(tài),也就是說應(yīng)用程序在能力決定是否單獨(dú)給某個(gè)設(shè)備供電,以盡可能降低整機(jī)功耗。

3、應(yīng)用程序電源管理

上面所提的系統(tǒng)電源狀態(tài)和設(shè)備電源狀態(tài)都是系統(tǒng)或驅(qū)動(dòng)一級(jí)對(duì)電源管理的支持,對(duì)使用英創(chuàng)公司工控主板的用戶來講,這些功能都是由英創(chuàng)公司直接提供并維護(hù)的,用戶如果知道如何利用系統(tǒng)提供的這些功能,就能輕松實(shí)現(xiàn)適用于自己設(shè)備的電源管理策略。

電源管理器提供了一組接口供應(yīng)用程序參與到電源管理的活動(dòng)中,應(yīng)用程序可以通過RequestPowerNotifications函數(shù)請(qǐng)求電源管理器向其發(fā)送電源相關(guān)的通知,也可以通過SetPowerRequirement通知電源管理器將設(shè)備設(shè)置在特殊的電源狀態(tài)下。這樣,指定設(shè)備的電源狀態(tài)就不會(huì)隨系統(tǒng)電源狀態(tài)的改變而改變。

3.1 電源通知機(jī)制

電源相關(guān)的通知通過消息隊(duì)列傳遞給應(yīng)用程序,通常應(yīng)用程序新建一個(gè)消息隊(duì)列,并通過RequestPowerNotifications將這個(gè)消息隊(duì)列的句柄傳遞給電源管理器,同時(shí)創(chuàng)建一個(gè)線程偵聽來自這個(gè)隊(duì)列的消息。電源管理器定義了如下幾種通知:

? PBT_RESUME:當(dāng)系統(tǒng)從休眠狀態(tài)被喚醒是產(chǎn)生;

? PBT_POWERSTATUSCHANGE:當(dāng)系統(tǒng)接入或者斷開外部電源時(shí)產(chǎn)生;

? PBT_TRANSITION:當(dāng)電源管理器執(zhí)行系統(tǒng)電源狀態(tài)轉(zhuǎn)換時(shí)發(fā)生;

? PBT_POWERINFOCHANGE:當(dāng)電池信息更新時(shí)發(fā)生。

下面的代碼演示了應(yīng)用程序如何偵聽電源管理器發(fā)出的通知。

// 1.新建一個(gè)消息隊(duì)列
ghPowerNotifications= CreateMsgQueue(NULL, &msgOptions);
if (!ghPowerNotifications) {
DWORD dwErr = GetLastError();
RETAILMSG(1, (TEXT('%s:CreateMessageQueue ERROR:%d\n'), pszFname, dwErr));
goto _Exit;
}

// 2.請(qǐng)求得到電源通知
hNotifications = RequestPowerNotifications(ghPowerNotifications, POWER_NOTIFY_ALL);
if (!hNotifications) {
DWORD dwErr = GetLastError();
RETAILMSG(TRUE, (TEXT('%s:RequestPowerNotifications ERROR:%d\n'), pszFname, dwErr));
goto _Exit;
}

// 3.創(chuàng)建偵聽線程
ht = CreateThread(NULL, 0, ProcessPowerNotification, NULL, 0, NULL);

// 4.電源通知消息偵聽線程
void ProcessPowerNotification(HANDLE hMsgQ)
{
……
if (ReadMsgQueue(hMsgQ, buf, QUEUE_SIZE, (LPDWORD)&dwSize, 0, &dwStatus))
{……} // 5.電源通知消息處理

3.2 電源請(qǐng)求機(jī)制

電源請(qǐng)求機(jī)制為應(yīng)用程序提供了強(qiáng)大的能力控制電源管理器調(diào)整設(shè)備的電源等級(jí),與其他所有的電源設(shè)置相比,它具有很高的優(yōu)先級(jí)。舉例來說,假設(shè)有一個(gè)條形碼閱讀器連接在COM3端口,并且COM3只有在最高電源等級(jí)(D0)時(shí)才能驅(qū)動(dòng)這個(gè)條形碼閱讀器。為了使其正常工作,應(yīng)用程序?qū)⒄{(diào)用SetPowerRequirement把COM3指定為D0狀態(tài)。假設(shè)之后串口驅(qū)動(dòng)自身決定降低一個(gè)電源等級(jí),驅(qū)動(dòng)程序調(diào)用DevicePowerNotify通知電源管理器它期望的設(shè)備電源狀態(tài)D1,實(shí)際上驅(qū)動(dòng)程序的這個(gè)請(qǐng)求將不起作用,直到應(yīng)用程序調(diào)用ReleasePowerRequirement為止。繼續(xù)這個(gè)例子,假設(shè)這時(shí)的系統(tǒng)電源狀態(tài)轉(zhuǎn)換為低能耗等級(jí),雖然與系統(tǒng)電源狀態(tài)對(duì)應(yīng)的COM3電源等級(jí)為D2,由于應(yīng)用程序的電源請(qǐng)求,COM3仍將繼續(xù)維持在D0狀態(tài)。

在調(diào)用SetPowerRequirement函數(shù)時(shí),指定POWER_FORCE標(biāo)志將強(qiáng)制設(shè)備不進(jìn)入休眠狀態(tài),即使這時(shí)系統(tǒng)已處于休眠狀態(tài)。

3.3 設(shè)置電源狀態(tài)

在某些應(yīng)用的場合下,應(yīng)用程序可能需要改變系統(tǒng)的電源狀態(tài)。 應(yīng)用程序可以通過GetSystemPowerState返回當(dāng)前系統(tǒng)電源狀態(tài)的名稱,也可以通過SetSystemPowerState改變系統(tǒng)的電源狀態(tài)。同樣的,如果應(yīng)用程序需要改變某個(gè)設(shè)備的電源狀態(tài),可以通過GetDevicePower返回設(shè)備當(dāng)前的電源狀態(tài),也可以通過SetDevicePower改變?cè)O(shè)備的電源狀態(tài)。

4、電源管理實(shí)例——LCD背光控制

上面依次描述了系統(tǒng)電源狀態(tài),設(shè)備電源狀態(tài)以及電源管理器的應(yīng)用程序接口,但對(duì)于沒有此類經(jīng)驗(yàn)的用戶來講,可能仍不清楚如何在自己的設(shè)備中實(shí)現(xiàn)所謂的電源管理,本節(jié)將以控制LCD背光為例,介紹實(shí)現(xiàn)對(duì)背光進(jìn)行電源管理的方法。

4.1 背光控制方法一

對(duì)背光的電源控制有很多方法,設(shè)備電源狀態(tài)的定義是在驅(qū)動(dòng)程序中實(shí)現(xiàn)的,電源管理器通過DeviceIoCtrol與設(shè)備驅(qū)動(dòng)程序交互,實(shí)現(xiàn)對(duì)設(shè)備的電源管理,同樣,應(yīng)用程序也可以通過DeviceIoCtrol實(shí)現(xiàn)對(duì)設(shè)備電源直接的控制。

// 1.打開背光句柄
HANDLE hBLK = CreateFile(L'BKL1:', // name of device
GENERIC_READ|GENERIC_WRITE, // desired access
FILE_SHARE_READ|FILE_SHARE_WRITE, // sharing mode
NULL, // security attributes (ignored)
OPEN_EXISTING, // creation disposition
FILE_FLAG_RANDOM_ACCESS, // flags/attributes
NULL);

// 2.通過DeviceIoCtrol關(guān)閉LCD背光
CEDEVICE_POWER_STATE stPower;
stPower = D4;
DWORD dwReturn;
bResult = DeviceIoControl(hBLK,
IOCTL_POWER_SET,
NULL,
0,
& stPower,
sizeof(CEDEVICE_POWER_STATE),
&dwReturn,
NULL);

// 3.通過DeviceIoCtrol打開LCD背光
stPower = D0;
bResult = DeviceIoControl(hBLK,
IOCTL_POWER_SET,
NULL,
0,
& stPower,
sizeof(CEDEVICE_POWER_STATE),
&dwReturn,
NULL);

4.2 背光控制方法二

方法一僅適用于系統(tǒng)沒有電源管理器的情況下使用,如果使能了系統(tǒng)的電源管理功能,則應(yīng)禁止使用上面的方法來控制背光。用戶可以將第2節(jié)提到的設(shè)備電源狀態(tài)和第1節(jié)的系統(tǒng)電源狀態(tài)做一個(gè)映射,當(dāng)系統(tǒng)在不同的電源狀態(tài)間切換時(shí),設(shè)備電源狀態(tài)隨之改變。系統(tǒng)電源狀態(tài)與設(shè)備電源狀態(tài)的映射是通過系統(tǒng)注冊(cè)表來實(shí)現(xiàn)的。如用戶希望在系統(tǒng)On狀態(tài)時(shí),背光最亮,系統(tǒng)電源狀態(tài)切換到UserIdel時(shí),背光變暗一點(diǎn),系統(tǒng)處于SystemIdel和Suspend時(shí),背光滅,則注冊(cè)表配置如下:

[HKEY_LOCAL_MACHINE\System\ CurrentControlSet \Power\State\On]
“Default” =dword:0 ;D0 當(dāng)系統(tǒng)為On狀態(tài)時(shí),所有設(shè)備默認(rèn)在D0狀態(tài)

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Power\State\UserIdle]
“Default” =dword:1 ;D1所有設(shè)備默認(rèn)在D1狀態(tài),包括LCD背光

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Power\State\SystemIdle]
“Default” =dword:0 ;D2所有設(shè)備默認(rèn)在D2狀態(tài)
“bkl1:”=dword:4 ;D4 背光處于D4關(guān)閉狀態(tài)

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Power\State\Suspend]
“Default” =dword:3 ;D3所有設(shè)備默認(rèn)在D3狀態(tài),如果設(shè)備不支持D3,自動(dòng)進(jìn)入D4狀態(tài)

上面的第1、2、4條注冊(cè)表使用的是系統(tǒng)默認(rèn)值,所以實(shí)際上只需要在SystemIdle狀態(tài)下增加一項(xiàng)就可以了,如圖3:

這里必需使用小寫字母的設(shè)備名稱,電源管理器才能識(shí)別。注冊(cè)表設(shè)置好后,用戶再通過控制面板\電源屬性設(shè)置好系統(tǒng)超時(shí),背光就能隨系統(tǒng)電源狀態(tài)的變化而自動(dòng)切換了。

如果系統(tǒng)使能了電源管理器,而應(yīng)用程序又想直接修改背光的電源狀態(tài)應(yīng)該怎樣做呢?

首先肯定不能使用DeviceIoCtrol的方法,也不推薦使用SetDevicePower函數(shù),而應(yīng)調(diào)用較為溫和的DevicePowerNotify。DevicePowerNotify會(huì)與系統(tǒng)電源管理器商量改變背光的電源狀態(tài),電源管理器最終決定并實(shí)施背光狀態(tài)的改變。

4.3 背光控制方法三

實(shí)際上,在手持設(shè)備或便攜式等移動(dòng)設(shè)備中,背光功耗在整個(gè)設(shè)備功耗中占很大一部份,對(duì)背光電源的靈活控制十分必要,EM9283的控制面板\顯示屬性中有專門對(duì)背光進(jìn)行管理的選項(xiàng),如圖4。

背景光的高級(jí)選項(xiàng)可以分別設(shè)置EM9283在電池供電或適配器供電情況下LCD背光的亮度,如圖5。EM9283 LCD背光的亮度調(diào)節(jié)范圍是5%~100%。

與通過控制面板設(shè)置系統(tǒng)超時(shí)一樣,如果應(yīng)用程序希望直接設(shè)置背光的點(diǎn)亮?xí)r間和背光亮度,可以通過修改注冊(cè)表來實(shí)現(xiàn)。與圖4,圖5對(duì)應(yīng)的注冊(cè)表設(shè)置如下:

[HKEY_CURRENT_USER\ControlPanel\BackLight]
“UserExt” =dword:1 ;允許在適配器供電情況下對(duì)背光進(jìn)行控制
“UseBattery:”=dword:1 ;允許在電池供電情況下對(duì)背光進(jìn)行控制
“ACTimeout”=dword:60 ;適配器供電情況下用戶停止操作60秒后關(guān)閉背光
“BatteryTimout”=dword:15 ;電池供電情況下用戶停止操作15秒后關(guān)閉背光

如果應(yīng)用程序修改了背光亮度相關(guān)的注冊(cè)表項(xiàng),需要?jiǎng)?chuàng)建名為BackLightLevelChangeEvent的事件,并置為有信號(hào)狀態(tài),相應(yīng)的驅(qū)動(dòng)程序就會(huì)自動(dòng)更新剛剛的設(shè)置,使設(shè)置生效。

Handel hBackLightLevelChange=
CreateEvent(NULL, FALSE, FALSE, L'BackLightLevelChangeEvent' );
SetEvent(hBackLightLevelChange);

同樣,如果應(yīng)用程序修改了背光點(diǎn)亮?xí)r間,需要?jiǎng)?chuàng)建名為BackLightChangeEvent的事件,并置為有信號(hào)狀態(tài)使設(shè)置生效。
Handel hBackLightChange=
CreateEvent(NULL, FALSE, FALSE, L'BackLightChangeEvent' ) ;
SetEvent(hBackLightChange);

在控制面板系統(tǒng)電源屬性設(shè)置和背景光設(shè)置中,都講到當(dāng)用戶停止操作某某長時(shí)間后,系統(tǒng)會(huì)怎樣怎樣。Windows CE和桌面Windows系統(tǒng)一樣,將沒有鼠標(biāo)和鍵盤輸入定義為用戶停止操作,但用戶停止操作并不意味著用戶已經(jīng)停止使用設(shè)備。比如用戶正打開一個(gè)串口,查看串口收到的數(shù)據(jù),查看過程中用戶沒有使用鍵盤,也沒有移動(dòng)鼠標(biāo),系統(tǒng)認(rèn)為用戶已經(jīng)停止操作設(shè)備,并在一段時(shí)間后關(guān)閉了LCD背光,顯示這不是用戶所希望的。在這種情況下,用戶只能周期性的移動(dòng)鼠標(biāo)或使用一下鍵盤來提醒設(shè)備,我還在使用你。

如果應(yīng)用程序能夠確定當(dāng)自己被打開時(shí),用戶需要屏幕和背光一直點(diǎn)亮(比如動(dòng)畫播放程序),那么應(yīng)用程序可以自己來提醒操作系統(tǒng)的電源管理:用戶還在使用設(shè)備,而不需要用戶去頻繁的移動(dòng)鼠標(biāo)。應(yīng)用程序可以創(chuàng)建或打開名為PowerManager/ActivityTimer/UserActivity事件,并以合適的時(shí)間,周期性的置這個(gè)事件有信號(hào)來達(dá)到提供電源管理器的目的。
Handle hUserActivity = OpenEvent( EVENT_ALL_ACCESS ,
FALSE,
L'PowerManager/ActivityTimer/UserActivity');
SetEvent( hUserActivity );

背光控制的方法三,對(duì)用戶來講是獨(dú)立于電源管理器的,也就是說無論用戶是否通過控制面板使能了系統(tǒng)電源超時(shí)切換功能,都可以通過此方法單獨(dú)控制系統(tǒng)背景光。

5、電源管理實(shí)例——系統(tǒng)屏保

上述三種方法能實(shí)現(xiàn)對(duì)系統(tǒng)背光的靈活控制,當(dāng)系統(tǒng)關(guān)閉背光時(shí),EM9283會(huì)將背光控制引腳LCD_BKLIGHT置低,控制外部電路關(guān)閉背光,但實(shí)際上這時(shí)候EM9283的顯示信號(hào)仍在輸出,如果EM9283外接的是VGA顯示或其它獨(dú)立背光的顯示設(shè)備,就會(huì)看到顯示界面,而我們所期望的是系統(tǒng)空閑一段時(shí)間后,LCD屏的背光和顯示都關(guān)閉,即通常說的屏保。

以VGA顯示器為例,當(dāng)沒有檢測到輸入信號(hào)時(shí),顯示器會(huì)自動(dòng)關(guān)閉背光并進(jìn)入低功耗模式,此時(shí)EM9283控制LCD_BKLIGHT是不行的,而需要將輸出的顯示信號(hào)關(guān)閉,我們同樣可以利用WinCE的電源管理器來實(shí)現(xiàn)屏保功能。比如讓系統(tǒng)空閑10分鐘后屏保的設(shè)置如下:

設(shè)備系統(tǒng)10分鐘后關(guān)閉顯示器

系統(tǒng)空閑10分鐘后會(huì)關(guān)閉背光和顯示輸出,控制原理已經(jīng)在第1節(jié)中進(jìn)行了描述,同時(shí)需要注意對(duì)系統(tǒng)事件'PowerManager/ReloadActivityTimeouts'進(jìn)行合適的設(shè)置,屏保功能才會(huì)正常啟用。

6、結(jié)束語

本文主要從應(yīng)用的角度出發(fā),結(jié)合英創(chuàng)工控主板EM9283,介紹了WinCE系統(tǒng)電源管理的實(shí)現(xiàn)過程。從背光的電源管理可以看到,有多種方法對(duì)系統(tǒng)設(shè)備的電源進(jìn)行控制管理,但應(yīng)該注意,盡量避免使用不同的方法同時(shí)管理一個(gè)設(shè)備的電源,以免造成用戶甚至應(yīng)用程序開發(fā)者本身的混亂。

本文中涉及到的API函數(shù)、事件、注冊(cè)表等,用戶可以參考微軟的MSDN,對(duì)Windows CE電源管理更全面、更權(quán)威的描述,也請(qǐng)參考MSDN。對(duì)于文中使用的程序片段,感興趣的用戶可以聯(lián)系英創(chuàng)索要完整的測試代碼。

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

    關(guān)注

    4

    文章

    3586

    瀏覽量

    89977
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6092

    瀏覽量

    35851
收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    龍芯中科榮獲2024年度信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)卓越貢獻(xiàn)成員單位

    近日,中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)(以下簡稱“信創(chuàng)工委會(huì)”)在北京召開2024年度工作總結(jié)座談會(huì)暨信創(chuàng)“大比武”總結(jié)大會(huì)。中國工程院院士、信
    的頭像 發(fā)表于 01-23 10:50 ?300次閱讀

    芯盛智能榮獲2024年信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)卓越貢獻(xiàn)成員單位

    日前,中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì)(以下簡稱 “信創(chuàng)工委會(huì)”)2024 年度總結(jié)座談會(huì)于北京隆重舉行。此次會(huì)議對(duì)在信創(chuàng)工作中作出突出貢獻(xiàn)的成員單位予以表彰。江蘇
    的頭像 發(fā)表于 01-20 09:56 ?293次閱讀

    大型農(nóng)田灌區(qū)信息化在線監(jiān)測系統(tǒng)的協(xié)同優(yōu)勢:集成管理信息共享

    灌區(qū)信息化在線監(jiān)測系統(tǒng)是一種基于現(xiàn)代信息技術(shù)(如物聯(lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算、人工智能等)對(duì)灌區(qū)內(nèi)水資源、水土、氣候等環(huán)境因子進(jìn)行實(shí)時(shí)監(jiān)測與管理的系統(tǒng)。
    的頭像 發(fā)表于 01-06 09:57 ?190次閱讀
    大型農(nóng)田灌區(qū)<b class='flag-5'>信息</b>化在線監(jiān)測系統(tǒng)的協(xié)同優(yōu)勢:集成<b class='flag-5'>管理</b>與<b class='flag-5'>信息</b>共享

    飛騰助力首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽圓滿落幕

    近日,由中國教育技術(shù)協(xié)會(huì)主辦,教育部教育管理信息中心教育信創(chuàng)實(shí)驗(yàn)室、公安部第三研究所、中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信
    的頭像 發(fā)表于 12-24 09:57 ?285次閱讀

    有方科技參編的信息技術(shù)團(tuán)體標(biāo)準(zhǔn)發(fā)布

    近日,有方科技參編的《信息技術(shù)產(chǎn)品供應(yīng)鏈成熟度 共性指標(biāo) 第1部分:企業(yè)背景評(píng)價(jià)》《信息技術(shù)產(chǎn)品供應(yīng)鏈成熟度 共性指標(biāo) 第2部分:技術(shù)掌控評(píng)價(jià)》《信息技術(shù)產(chǎn)品供應(yīng)鏈成熟度 共性指標(biāo) 第
    的頭像 發(fā)表于 12-23 10:44 ?370次閱讀

    龍芯中科助力2024首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽成功舉辦

    近日,2024首屆教育信息技術(shù)應(yīng)用創(chuàng)新大賽在北京航空航天大學(xué)成功舉辦。本次大賽由中國教育技術(shù)協(xié)會(huì)主辦,教育信創(chuàng)實(shí)驗(yàn)室、公安部第三研究所、中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會(huì)信
    的頭像 發(fā)表于 12-19 17:02 ?347次閱讀

    水穩(wěn)拌合站管理系統(tǒng)助力公路信息技術(shù)管理

    在現(xiàn)代公路建設(shè)中,水穩(wěn)拌合站管理系統(tǒng)的作用愈發(fā)重要。作為一種新型的信息管理工具,它通過先進(jìn)的質(zhì)量管理信息技術(shù),為公路工程的高效、準(zhǔn)確和安全
    的頭像 發(fā)表于 11-20 08:45 ?201次閱讀
    水穩(wěn)拌合站<b class='flag-5'>管理</b>系統(tǒng)助力公路<b class='flag-5'>信息技術(shù)管理</b>

    集芯IP5568專為無線充電寶設(shè)計(jì)的快充電源管理SOC芯片

    集芯IP5568是一款專為無線充電寶和快充移動(dòng)電源設(shè)計(jì)的電源管理SOC芯片,集成了無線充電發(fā)射與接收、多種快充協(xié)議、USB Power Delivery協(xié)議、電池
    的頭像 發(fā)表于 11-13 17:38 ?667次閱讀
    <b class='flag-5'>英</b>集芯IP5568專為無線充電寶設(shè)計(jì)的快充<b class='flag-5'>電源</b><b class='flag-5'>管理</b>SOC芯片

    中科創(chuàng)達(dá)榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)

    及前百家企業(yè)”名單。中科創(chuàng)達(dá)憑借非凡的技術(shù)實(shí)力與持續(xù)的創(chuàng)新能力,成功入選“2024年度軟件和信息技術(shù)服務(wù)競爭力百強(qiáng)企業(yè)”以及“2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)”。
    的頭像 發(fā)表于 10-30 11:44 ?634次閱讀

    燃?xì)?b class='flag-5'>信息管理系統(tǒng)簡介

    燃?xì)?b class='flag-5'>信息管理系統(tǒng) 利用物聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)分析、AI仿真等技術(shù)對(duì)燃?xì)庠O(shè)施、管網(wǎng)和用戶進(jìn)行實(shí)時(shí)監(jiān)測、數(shù)據(jù)分析和智能控制。為燃?xì)馄髽I(yè)提供了全方位的管理工具,幫助企業(yè)實(shí)現(xiàn)精益化運(yùn)營,提升服務(wù)質(zhì)量
    的頭像 發(fā)表于 10-14 11:41 ?535次閱讀
    燃?xì)?b class='flag-5'>信息管理</b>系統(tǒng)<b class='flag-5'>簡介</b>

    創(chuàng)國產(chǎn)化背景下的工控主板發(fā)展現(xiàn)狀

    創(chuàng),是信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)的簡稱,于2016年“信創(chuàng)工委會(huì)”(信息技術(shù)應(yīng)用創(chuàng)新工作委員會(huì))提出,目的就是要推動(dòng)我們國內(nèi)軟硬件關(guān)鍵技術(shù)的研發(fā)
    的頭像 發(fā)表于 09-21 16:15 ?619次閱讀

    梯度科技入選2023年信息技術(shù)應(yīng)用創(chuàng)新解決方案名單

    日前,工業(yè)和信息化部網(wǎng)絡(luò)安全產(chǎn)業(yè)發(fā)展中心(工業(yè)和信息化部信息中心)在天津舉辦2024信息技術(shù)應(yīng)用創(chuàng)新發(fā)展大會(huì)暨解決方案應(yīng)用推廣大會(huì)。會(huì)上正式公布了2023年
    的頭像 發(fā)表于 09-09 16:29 ?545次閱讀

    龍芯中科成功舉辦拉薩市信息技術(shù)創(chuàng)新應(yīng)用工作交流會(huì)

    日前,由北京援藏指揮部指導(dǎo),龍芯中科技術(shù)股份有限公司主辦的“信息技術(shù)創(chuàng)新應(yīng)用工作交流會(huì)——芯動(dòng)百城西藏站”成功舉辦。北京援藏指揮部領(lǐng)導(dǎo),西藏自治區(qū)經(jīng)信廳、專通局、密碼管理局等機(jī)關(guān)單位領(lǐng)導(dǎo)
    的頭像 發(fā)表于 08-21 11:32 ?678次閱讀

    GB/T 35590-2017信息技術(shù) 便攜式數(shù)字設(shè)備用移動(dòng)電源推薦標(biāo)準(zhǔn)

    GB/T 35590-2017是《信息技術(shù) 便攜式數(shù)字設(shè)備用移動(dòng)電源通用規(guī)范》的國家標(biāo)準(zhǔn),這是一項(xiàng)由全國信息安全標(biāo)準(zhǔn)化技術(shù)委員會(huì)歸口管理,并
    的頭像 發(fā)表于 08-12 16:47 ?1676次閱讀
    GB/T 35590-2017<b class='flag-5'>信息技術(shù)</b> 便攜式數(shù)字設(shè)備用移動(dòng)<b class='flag-5'>電源</b>推薦標(biāo)準(zhǔn)

    基于物聯(lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算等現(xiàn)代信息技術(shù)高速公路智慧消防平臺(tái)解決方案

    安科瑞 程瑜 系統(tǒng)簡介 1、概述 智慧消防云平臺(tái)基于物聯(lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算等現(xiàn)代信息技術(shù),將分散的火災(zāi)自動(dòng)報(bào)警設(shè)備、電氣火災(zāi)監(jiān)控設(shè)備、智慧煙感探測器、智慧消防用水等設(shè)備連接形成網(wǎng)絡(luò),并對(duì)這些設(shè)備
    的頭像 發(fā)表于 03-15 14:20 ?558次閱讀
    基于物聯(lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算等現(xiàn)代<b class='flag-5'>信息技術(shù)</b>高速公路智慧消防平臺(tái)解決方案

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品