wince中的背光灯控制

来源:互联网 发布:计算机 出国 知乎 编辑:程序博客网 时间:2024/05/16 19:51
要控制背光灯就必须知道相关设置,以下是wince中背光灯的设置。在BL_ReadRegistry函数中被读取。
[HKEY_CURRENT_USER\ControlPanel\BackLight]
   "ACTimeout"=dword:0000012c                ; 外部电源时,背光超时
   "UseExt"=dword:00000001                   ; 不知道干什么的,我没有使用
   "UseBattery"=dword:00000001               
   "BatteryTimeout"=dword:0000003c           ;电池供电时背光超时
   "BacklightLuminanceLevel"=dword:00000001  ;我定义的亮度

其实还可以定义其他很多东西,都可以自己添加,比如外部电源时背光亮度,电池供电时背光亮度,电源改变是否自动改变亮度等,都可以再驱动第一次加载的时候写一个默认值,或者在编译系统的时候就将其写入注册表。
很多网上都能下载到backlite驱动源码,就是背光控制驱动,但是基本都是不完整的驱动,需要根据你自己的平台写代码控制,不同的电路控制方式不一样,而且还跟LCD有关系。那么首先请先完成你自己平台的控制函数void BackLightCtrl(BOOL bLight)。
void BackLightCtrl(BOOL bLight)

    if (bLight)
    {     
        RETAILMSG(1, (TEXT("turn on!\r\n")));
    }
    else
    { 
        RETAILMSG(1, (TEXT("turn off!\r\n")));
    }
    
}
然后在BL_MonitorThread中根据不同事件控制背光灯打开跟关闭,如果你的LCD支持调节亮度的,那么可类似处理。另外为了让操作触摸屏时能自动恢复LCD,那么还需要在触摸屏驱动中添加“UserInputEvent”事件,并在按下或者抬起的动作set一下这个事件。这样就能跟背光驱动关联起来。键盘驱动类似。在我的驱动中使用了以下几个事件:
     ("BackLightChangeEvent"); 背光亮度改变,应用层软件与驱动通讯
     ("PowerChangedEvent");电源改变事件
     ("PowerManager/ActivityTimer/UserActivity");用户输入事件,这里提醒一下,很多文章都直接使用“UserInputEvent”为输入事件名,但是这个应该只是个代名词而已。
 
具体的源码我就不贴出来了,有需要的朋友可以直接给我发邮件!
 
最后在platform.reg中添加
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\BackLite]
    "Index"=dword:0
    "Prefix"="BAK"
    "Dll"="backlite.dll"
    "Order"=dword:xx
在platform.bib中添加
backlite.dll    $(_FLATRELEASEDIR)\backlite.dll            NK    SH
阅读(2028) | 评论(1) | 转发(0) |
0

上一篇:6410运行于667MHz!

下一篇:如何从零开始开发一款嵌入式产品

相关热门文章
  • linux下的鸟哥私房菜第一篇—...
  • 扶他林乳胶剂就是每个家庭的必...
  • 椅子也可以激情
  • 5个趋势看商业空间设计发展...
  • 宋冬:父亲与《抚摸父亲》...
  • 10种启动故障解决方法(转)...
  • 关于自动弹出网页的解决方法...
  • Auto CAD 2007中文版 迅雷免费...
  • 出现“high definition audio...
  • 全国计算机一级考试试题...
  • 如何编写一个C程序实现将字符...
  • C程序能不能在main函数之前调...
  • 看一个程序调用了哪些动态库用...
  • 回复不了你啊,咋,威望值不够...
  • mysql的medium.cnf在哪里?...
给主人留下些什么吧!~~

jinjianchong2012-12-27 15:26:31

能不能给我发份源代码jinjianchong@126.com
非常感谢

回复 | 举报
原创粉丝点击