WinCE下电池充放电测试

 

      对手持设备来说,电池的充放电曲线非常重要,一般由电池厂家提供。我们在开发的过程中会按照这个标准的充放电曲线设计程序。但设备的工作模式有很多种,为了测试在各模式下电池的放电情况,我们可以自己写个小工具记录下电池的放电状态,然后通过Excel或者Matlab绘制出其放电曲线。

      WinCE下电池驱动分MDD和PDD两层,对于一般应用来说,只要实现PDD层,链接标准的MDD层LIB,生成电池驱动battery.dll即可。PDD层的代码实现可参考C:\WINCE600\PLATFORM\DEVICEEMULATOR\SRC\DRIVERS\BATTDRVR。

      实现完电池驱动并添加了WinCE的电源管理组件后,WinCE系统就可以监测电池状态并给出相应的提示。同时应用程序可以调用GetSystemPowerStatusEx2()获取当前电池的信息。通常情况下,电池的信息主要是指当前的充电状态及电压值,如果硬件支持,还可以得到当前的充放电的电流值。

      加入电池驱动后,任务栏和Shell中会有相应的状态提示,如下图。如果不需要Shell中的提示,可以设置注册表关闭。

      在我们的平台上,收集并绘制了几种工作模式下的放电曲线,如下。

顺便也在M8上做了个测试,截图如下。

可以看到M8在播放电影时,电池的放电曲线要干净一些。

得到以上这些曲线后,软件设计就可以作为参考了。

附上一段Matlab的代码:

close all;

clear all;

data = load('D:\我的文档\桌面\电池放电曲线\30-08-08-20-BatLog.txt');

x = data(:,1);

y1 = data(:,2);

y2 = data(:,3);

figure(2);

subplot(2,1,1),plot(x,y1);

subplot(2,1,2),plot(x,y2);

时间: 2024-10-13 08:07:41

WinCE下电池充放电测试的相关文章

帮忙看一下这段代码,WINCE下开发

问题描述 写了如下一小段程序,在wince下开发,用模拟器,运行的时候,提示SQLiteerror:nosuchtabletb_isbncj....望各位高手帮忙看一下usingSystem;usingSystem.Linq;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Form

wince下DataGrid如何给指定行上颜色(C#)

问题描述 wince下DataGrid如何给指定行上颜色(C#)分不多,各位大神帮帮忙啊,弄了好几天了 解决方案 解决方案二:好像不可以设置.给个链接,解决方案三:网上的能找到的都弄过了,还是没玩出来能不能给个例子呢解决方案四:DataGridWiew选中单元格时整个背景变色实例//绑定显示数据privatevoidFrm_Main_Load(objectsender,EventArgse){dgv_Message.DataSource=newList<Fruit>(){//绑定数据集合new

WinCE下应用程序错误的解决之道

         这个对话框,大家应该都不陌生.程序员做开发时经常会见到,用户肯定也曾被它骚扰过.很显然,这是软件的BUG所致.软件中存在的BUG肯定是会出现的,只是时间的问题,或早或晚,有些很幸运在测试时就会被发现,那些不幸的就成了客户抱怨的缘由.所以,我们不能抱有侥幸心理,而应该想办法来解决这类问题.        对于软件的BUG来说,扼杀于摇篮当然是最根本的解决办法.尽量编写没有BUG的代码,必要时主动在代码中添加一些异常处理,让程序决断如何处理.很多语言都提供了异常处理的机制,但BUG

WinCE下的远程控制

     以前在给别人介绍Windows CE的开发时,为了演示设备上程序的运行情况,就用Remote Zoomin来截屏,设备端一刷新,Remote Zoomin就得去手动Refresh一下,在CE和PC两边忙得不亦乐乎.当时就想,要是有自动刷新的功能不就省去了这么多麻烦吗.如果能在PC端直接控制CE设备,岂不更好? 看了帮助文件,原来WinCE是支持RDP的,添加相应的组件,编译完成后,在设备上测试发现CE真的可以登陆Windows XP,而且效果还不错!但CE本身并不能做Server,只能

WinCE下调试串口的动态复用

      车机项目中用到了很多串口外设,如DVD机芯.GPS.蓝牙.雷达和胎压监测等,而主CPU(TCC89XX)与小MCU(STM32)之间也是通过串口通讯的.一时之间,串口使用有点捉襟见肘的感觉,只能把调试串口拿出来用做普通串口.       调试串口用作普通串口本身没什么问题,之前在S3C2410上也做过.当时是把2410的调试串口强制改为普通串口,系统启动后调试串口就无法正常使用了.但目前的项目仍在进一步完善之中,调试串口还是相当重要的,经常需要通过它,抓一些TRACE来分析和定位问题

WinCE下WIFI模块AR6102的调试

      今天调试了一款SDIO的无线网卡AR6102,由于该芯片是板载的,所以写了一个应用程序,模拟无线网卡的插入拔出,然后简单修改了SDHC驱动,检测应用程序发出的模拟卡插拔的动作,并控制芯片的PWR和RST引脚.幸运的很,改完之后,就可以用了.通过应用程序模拟无线网卡的插入动作后,在超级终端看到了加载无线网卡驱动的打印信息,在控制面板的网络连接里也看到了WIFI设备,AR6K_SD1.       用于测试的无线AP是Cisco的,加密方式是WPA-Personal,根据路由器的设置,选

WinCE下的3G拨号助手

    以前用华为EM730的3G模块时,他们提供了一个拨号软件.刚开始必须用这个拨号软件才能拨号成功,而WinCE控制面板里的拨号连接不能正常工作.后来折腾到WinCE自带的拨号连接也能正常拨号了,主要是修改了注册表中的一些配置.最近又要用电信的Surfing,原厂提供了WinCE下的驱动,拿过来就能用,非常方便.也许以后还得用TD,为了方便调试各种3G上网卡,做了一个3G拨号助手,功能跟WinCE自带的基本一样,增加了移动网号(MNC)和信号强度的自动检测,预置了用户名.密码和域,并能检测当

wince下,使用C# ,把数据写入txt文件中

问题描述 wince下,使用C# ,把数据写入txt文件中 各位高手大家好,我在wince下,使用C# ,把数据写入txt文件中,所有的代码都执行完成,也没有发生任何错误,但是我打开txt里面是空白的,没有任何数据,不知其解,望高手不吝指教,谢谢.写入txt的代码如下: FileStream fs = null; StreamWriter sw = null; try { fs = new FileStream(fileName, FileMode.Append, FileAccess.Writ

nginx反向代理-nginx+tomcat集群下的压力测试

问题描述 nginx+tomcat集群下的压力测试 我现在在单机下尝试模拟nginx+tomcat集群的配置,开了3台虚拟机,1台作nginx服务器另外两台作tomcat服务器. tomcat下的也设置了maxThreads和timeOut的值. nginx配的是将所有请求全部转发给后端的两台tomcat. 最后再装了nginx的虚拟机上用ab进行压力测试,在 -n 10000 -c 1500的时候 去测试192.168.171.134:18082没有问题,而测用127.0.0.1测nginx的