6410背光
来源:互联网 发布:python 顶贴 编辑:程序博客网 时间:2024/05/29 11:43
本文由 @lonelyrains 出品,转载请注明出处。
文章链接: http://blog.csdn.net/lonelyrains/article/details/7087433
后来,又需要调节屏的亮度,而不是简单的开关。按照6410的说明,是通过占空比来控制屏的亮度的,而且推荐刷新频率是100Hz到2KHz。占空比简单地理解就是高低电位分别占用的时间的比值。而最容易想到的方式是设定一个应用层的定时器来定时向背光驱动映射的设备写高或者低。
实践发现,设置定时器间隔时间1ms时,实际示波器显示的方波并不符合这个频率。几经确认应用层的小程序没写错定时器之后,发现中间出现耗时的地方有:每次定时器操作驱动里面有设定延时,每次写都是打开、写、关闭。不确定是否会影响的是调试输出打印和qt的定时器。谈到调试输出打印,是考虑之前有发现debugview打开时,截获调试输出,会对程序本身的定时器有一定的时延,这个的深层次原因尚未发现。说到定时器,因为应用层的定时器实在有点让人捉摸不透,特别是和多线程搅在一起的时候。一开始决定用定时器的原因是想动态地改变这个占空比和频率。现在一横心,用了while(1),然后里面加usleep来精确定时。顿时感觉usleep真是个搞东西,能达到微妙经的定时效果,不知道怎么实现的,估计是汇编加精确的硬件定时器吧。当然,为了调试方便,占空比和频率两个参数是通过命令行参数传入的。
再用示波器观察,达到了想要的亮度渐变的效果,然而,还不能令人满意,这种应用层控制背光是不科学的,需要消耗的资源可想而知。领导出手了,说这种背光控制是需要直接利用现成的背光管理的,而这些东西在linux内核与6410相关的代码中有讲到。第一步是make menuconfig源代码,找到PVM和backlight相关的内容,设置成打开。然后到源代码中找到生成的宏,再跟踪这些宏找到相关的6410硬件定时器和PVM设置。我觉得这个手法相当巧妙,基本不需要依靠茫茫的文档指导,直接追根溯源。领导到底是高手啊。
但是依然存在问题,每个四五分钟之后,屏幕自动灭了。发现是休眠了。通过网上查阅,定义环境变量term_***,忘了具体名字是什么了,是可以控制休眠的,不过还没有看到相应的效果。
领导分享他参阅的链接:http://blog.csdn.net/zhangqingsup/article/details/5325039,我也一并贴出。
- 6410背光
- 背光
- android平台6410背光修改
- android平台6410背光修改
- android平台6410背光修改
- android平台6410背光修改
- wince + 6410 背光驱动记录
- android平台6410背光修改
- 6410 背光驱动及应用层接口
- 6410 lcd背光关闭、打开方法探索
- android 背光
- LCD 背光
- Backlight 背光
- 背光驱动
- 背光控制
- 背光配置文件
- 背光灯
- linux背光系统--背光渐变
- flash反编译学习心得
- 宁静以致远
- 用了 PanicButton 扩展,你就是老板心中永远的榜样员工
- 当代书法艺术发展中的几个问题
- Ibatis基础
- 6410背光
- 德国专利公司IPCom要求法院执行HTC手机销售禁令
- C# 为TreeView中的子节点添加单击事件
- 2012届华为校园招聘上机考试题目及参考代码
- Android 编年史
- eclipse 快捷键大全
- 一句话博客[01]
- 重提书法是一种有根的艺术
- iOS后台播放背景音乐文件