社区
嵌入开发(WinCE)
帖子详情
如何做,wince系统才能更加省电?
paul85
2010-04-07 10:07:00
我现在用的是wince600,CPU是S3C6410.为了节约用电,在非工作的时候,我想关闭一些不用的东西,但是用用到红外接收部分.所以感觉不能将系统休眠了.
全部模块工作的时候系统耗电是380mA.我把背光和WIFI关闭后,耗电180mA.感觉耗电还是太多,但是不知道还可以关闭些什么模块?求高人指点.
...全文
254
12
打赏
收藏
如何做,wince系统才能更加省电?
我现在用的是wince600,CPU是S3C6410.为了节约用电,在非工作的时候,我想关闭一些不用的东西,但是用用到红外接收部分.所以感觉不能将系统休眠了. 全部模块工作的时候系统耗电是380mA.我把背光和WIFI关闭后,耗电180mA.感觉耗电还是太多,但是不知道还可以关闭些什么模块?求高人指点.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
paul85
2010-04-14
打赏
举报
回复
此帖沉了,只好先结贴,再重新开贴了.
jackchen0128
2010-04-09
打赏
举报
回复
可參考webcast課程
《开发省电的Windows Mobile应用程序》
自己搜索一下吧
這是講座的demo代碼
http://www.cnblogs.com/upto/archive/2009/06/25/1511087.html
Taiyangchen
2010-04-08
打赏
举报
回复
[Quote=引用 2 楼 yashi 的回复:]
屏是耗电大户,所以默认要把背光调到合适位置(而不是最亮),并且长时间不用的话,要把屏关掉。
当然,要做更高要求,就像楼上说的,要对所有外设,甚至CPU都要做“电源管理”。
[/Quote]
还有就是如果在和外界设备通讯时耗电也会很大的
paul85
2010-04-07
打赏
举报
回复
我的系统一部分支持电源管理,LCD的背光,声音,WIFI模块都可以通过SETPOWERREQURIMENT()函数来关闭,但是这样的电流还剩下180MA,有点太大了.所以我想把LCD自身设成低功耗模式,不知道如何实现?
LaiQingXiong
2010-04-07
打赏
举报
回复
LCD 背光,GPRS,GPS等切断电源。
yashi
2010-04-07
打赏
举报
回复
屏是耗电大户,所以默认要把背光调到合适位置(而不是最亮),并且长时间不用的话,要把屏关掉。
当然,要做更高要求,就像楼上说的,要对所有外设,甚至CPU都要做“电源管理”。
kyzf
2010-04-07
打赏
举报
回复
楼主 按照wince600的电源管理,实现对应的电源模式,
就能 很很满足你 的电源需求。
另外先好好看看这篇文章:
WinCE电源管理的实现
http://blog.pfan.cn/liyutai/41079.html
另外可以百度或GOOGLE下“WinCE电源管理的实现”
paul85
2010-04-07
打赏
举报
回复
主要是这些语句有用,但是不知道为什么不能关闭屏幕,而是返回错误信息2.m_err = GetLastError();
HDC ghDisplayDC =::GetDC(NULL); //取得SCREEN句柄
VIDEO_POWER_MANAGEMENT vpm;
vpm.Length = sizeof(VIDEO_POWER_MANAGEMENT);
vpm.DPMSVersion = 1;
vpm.PowerState = VideoPowerOff;
int errv = ExtEscape(ghDisplayDC,SETPOWERMANAGEMENT,sizeof(vpm)+2,(LPSTR )&vpm,0,NULL);
m_err = GetLastError();
主要是这些语句有用,但是不知道为什么不能关闭屏幕,而是m_err = GetLastError()返回错误信息2.
paul85
2010-04-07
打赏
举报
回复
我的代码如下
void ClcdextDlg::OnBnClickedButton1()
{
HDC ghDisplayDC =::GetDC(NULL); //取得SCREEN句柄
//this->GetDC()->GetSafeHdc(); //CreateDC(NULL,NULL,NULL,NULL);
int fQueryEsc = SETPOWERMANAGEMENT;
int rc = ExtEscape (ghDisplayDC, QUERYESCSUPPORT, sizeof (fQueryEsc), //查询是否支持SETPOWERMANAGEMENT
(LPSTR)&fQueryEsc, 0, 0);
if (rc == 0)
{
AfxMessageBox(_T("不支持SETPOWERMANAGEMENT"));
}
if(NULL == ghDisplayDC)
{
m_err = -1; //edit控件显示
UpdateData(FALSE);
}
else
{
VIDEO_POWER_MANAGEMENT vpm;
vpm.Length = sizeof(VIDEO_POWER_MANAGEMENT);
vpm.DPMSVersion = 1;
vpm.PowerState = VideoPowerOff;
int errv = ExtEscape(ghDisplayDC,SETPOWERMANAGEMENT,sizeof(vpm)+2,(LPSTR )&vpm,0,NULL);
m_err = GetLastError();
UpdateData(FALSE);
}
/* //其他模块电源控制,可正常工作,屏蔽
DevicePowerNotify(_T("WAV1:"), D4, POWER_NAME);
HWAV = SetPowerRequirement(TEXT( "WAV1:"),D4,POWER_NAME,NULL,0);
DevicePowerNotify(_T("MFC1:"), D4, POWER_NAME);
HMFC = SetPowerRequirement(TEXT( "MFC1:"),D4,POWER_NAME,NULL,0);
DevicePowerNotify(_T("GLE1:"), D4, POWER_NAME);
HGLE = SetPowerRequirement(TEXT( "GLE1:"),D4,POWER_NAME,NULL,0);
DevicePowerNotify(_T("DSK3:"), D4, POWER_NAME);
HDSK = SetPowerRequirement(TEXT( "DSK3:"),D4,POWER_NAME,NULL,0);
DevicePowerNotify(_T("IIC0:"), D4, POWER_NAME);
HDSK = SetPowerRequirement(TEXT( "IIC0:"),D4,POWER_NAME,NULL,0);
DevicePowerNotify(_T("NDS0:"), D4, POWER_NAME);
HDSK = SetPowerRequirement(TEXT( "NDS0:"),D4,POWER_NAME,NULL,0);
*/
}
执行到int errv = ExtEscape(ghDisplayDC,SETPOWERMANAGEMENT,sizeof(vpm)+2,(LPSTR )&vpm,0,NULL);
m_err = GetLastError();
的时候,返回错误信息为2,不知道该如何修改?
paul85
2010-04-07
打赏
举报
回复
我的意思是在不工作时,LCD就不显示任何图象,让驱动不给LCD上电.用ExtEscape()函数,总是返回错误2,或者错误6. 2是找不到指定的文件,6是句柄不可用.待会把代码贴上来让大家看看.
DAISARU
2010-04-07
打赏
举报
回复
[Quote=引用 4 楼 paul85 的回复:]
我的系统一部分支持电源管理,LCD的背光,声音,WIFI模块都可以通过SETPOWERREQURIMENT()函数来关闭,但是这样的电流还剩下180MA,有点太大了.所以我想把LCD自身设成低功耗模式,不知道如何实现?
[/Quote]
LCD自身设成低功耗模式 是什么意思
FrankBIBI
2010-04-07
打赏
举报
回复
MAKR~呵呵
WinCE
编程实验(第六章 装置管理)
第六章 装置管理 Windows CE作为一个嵌入式应用的操作
系统
,在装置管理(device management)方面亦具有一般嵌入式操作
系统
装置所支持的特点:装置管理概念简单高效;支持多种不同类别、差异极大的装置;支持随插即用(Plug and Play)的管理模式和装置
省电
控制;处理
系统
的输入输出亦具有实时响应能力。本章主要分析Windows CE.NET操作
系统
的装
区分 微软的众多手机开发版本
Windows PDA 操作
系统
的占有率全球第一,在这成绩的背后是微软超过 10 年的耕耘,才能打败对手,创造今日独大的局面。究竟在这历程中有何演进?且让 PhoneDaily 为您回顾 Windows Mobile 的历史。 呱呱坠地 Windows CE 1.x Windows Mobile 的核心是「Windows CE(
WinCE
)」,「CE」可以代表「Compact Edition(精简
嵌入式操作
系统
介绍分析
一,各种嵌入式操作
系统
介绍1.uC/OS-IIu C / OS 是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作
系统
。 μC/OS-II 的前身是μC/OS,最早出自于1992 年美国嵌入式
系统
专家Jean J.Labrosse 在《嵌入式
系统
编程》杂志的5月和6月刊上刊登的文章连载,并把μC/OS 的源码发布在该杂志的BBS上。 μC/OS 和μC/OS-II 是专门为计算机的嵌入
Windows CE的电源管理
Windows CE的电源管理之一 Windows CE的基本电源管理功能 在所有版本的Windows CE操作
系统
中,图形、视窗和事件子
系统
(GWES)在电源管理方面都发挥了关键作用。这是因为早期版本的电源管理功能是由用户的活动所驱动的,而GWES负责处理所有用户的输入,
【小黑嵌入式
系统
第十课】μC/OS-III概况——实时操作
系统
的特点、基本概念(内核&任务&中断)、与硬件的关系&实现
美国人Jean Labrosse 1992年完成,已应用于众多产品中。应用面覆盖了诸多领域,如照相机、医疗器械、音响设备、发动机控制、高速公路电话
系统
、自动提款机等。1998年μC/OS-II、2009年μC/OS-III满足航空电子、工业控制、医疗等市场的针对可靠性/安全性的认证标准。是一个源码公开、可移植、可裁减、可固化、占用资源少、抢占式的实时多任务操作
系统
内核。其绝大部分源码采用ANSI C编写,可移植性好。高校教学可免费使用。
嵌入开发(WinCE)
19,502
社区成员
41,568
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章