多个LCD下修改DISPLAY与TOUCHP驱动的经验
来源:互联网 发布:ubuntu切换搜狗 编辑:程序博客网 时间:2024/05/17 03:04
多个LCD下修改DISPLAY与TOUCHP驱动的经验
首先说明,我所做的是基于s3c2410的wince平台。
更换LCD之后一般需要修改DISPLAY与TOUCHP驱动。建议大家把公共一些宏提取出来,独立写个头文件使用。需要参考的文件除了2个驱动对应的c/cpp文件还有s2410.h。cfw.c里面也有关于LCD的问题。如果你有对他做了修改,那么自己需要注意了。我之前自己的包就是。
我提取的部分信息:
... ... ...
#define LCD_TYPE TFT640_480
#if ( LCD_TYPE == TFT640_480 )
#define SRC_WIDTH (640)
#define SRC_HEIGHT (480)
#define MemSize (0xA0000)
#define LCD_XSIZE_TFT (SRC_WIDTH)
#define LCD_YSIZE_TFT (SRC_HEIGHT)
//触摸区域修改下面的值
#define TOUCH_MAX_X 1080
#define TOUCH_MIN_X 10
#define TOUCH_MAX_Y 980
#define TOUCH_MIN_Y 30
#define TOUCH_X SRC_WIDTH
#define TOUCH_Y SRC_HEIGHT
//屏幕显示时隙设置 参考LCD厂商给出的资料
#define VBPD ((20) & 0xff)
#define VFPD ((2) & 0xff)
#define VSPW ((1) & 0x3f)
#define HBPD ((121) & 0x7f)
#define HFPD ((15) & 0xff)
#define HSPW ((13) & 0xff)
//#define ADC_DELAY_TIME 5000 看你具体情况我独立放开来,因为有好几种液晶。
#elif (...)
... ... ...
#endif
... ... ...
以后不管什么LCD需要处理,直接修改LCD_TYPE就行了。如果你跟我一样,同种大小也有几种不同厂商提供的LCD,那么你还需要定义一个宏来区分厂商的,写好以后需要换就修改1-2个宏的值就可以了,同时提取出来的宏再原来的文件中记得注释掉,免得重定义。不要去覆盖好几个地方。当然这样或许不完美,还存在触摸需要校正的问题。下面再说说我的做法。
1.首先拿到LCD,烧完让他跑起来。
2.用wince自带的校正程序校正。然后用PB或者EVC的工具连接wince的注册表。找到下面对应的值。
[HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/TOUCH]
"CalibrationData"="这里每人的值都不一样"
在$(_FLATRELEASEDIR)目录下的platform.reg里面找到“[HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/TOUCH]”
修改"CalibrationData"的值为找到的。然后make一下。重新写进去测试。
这个时候特别需要测试的是屏蔽的边缘的触摸效果,如果正常,那么恭喜你,可以了。如果边缘有问题,进行下一步3。
3.修改触摸区域。
#define TOUCH_MAX_X
#define TOUCH_MIN_X
#define TOUCH_MAX_Y
#define TOUCH_MIN_Y
调整这个区域(一般我见到的情况是边缘没反映或者点击后效果靠中心,所以把区域放到就行)。然后转1再进行测试。
一般几步就OK了。
最后记得把CalibrationData的值保存起来放到platform.reg里面,以后如果更换LCD,那么直接修改platform.reg文件,把对应的值放出来,其他的注释调编译一下就可以了。根本不需要再校正。
BTW:csdn的插入代码怎么没有C/C++ 和pascal 呢?
- 多个LCD下修改DISPLAY与TOUCHP驱动的经验
- 修改LCD和触摸屏驱动的一些经验
- 修改LCD和触摸屏驱动的一些经验
- Linux 下LCD的驱动
- 嵌入式Linux下彩色LCD驱动的设计与实现
- 嵌入式Linux下彩色LCD驱动的设计与实现
- 嵌入式Linux下彩色LCD驱动的设计与实现
- 嵌入式Linux下彩色LCD驱动的设计与实现
- 第一个驱动的小过程 [LCD]
- 第一个驱动的小过程 [LCD]
- s3c6410 LCD在uboot下的驱动
- Linux下的LCD驱动(一)
- Linux下的LCD驱动(二)
- Linux下的LCD驱动(一)
- Linux下的LCD驱动(二)
- WinCE下的LCD显示驱动开发
- linux下LCD驱动的分析
- Linux下LCD的framebuffer驱动
- 反射 示例
- jsf 如何在项目中使用之-导航栏的配置-上
- asp.net C#图片上传+预览
- 论坛使用的30种音乐播放器
- 学习上溯造型和下溯造型 【转载一篇】
- 多个LCD下修改DISPLAY与TOUCHP驱动的经验
- SQL4414N “DB2 管理服务器”处于不活动状态 的处理
- How to integrate svn into ant
- OpenCms创建网站过程图解——献给OpenCms的初学者们
- 自己写的一个函数:根据月分打印月历【SQL版】
- e.Item.ItemType
- 几种javascript函数定义的区别
- 无法启动“帮助和支持中心”的几种解决方法
- 盗版xp成功验证成正版,享受正版增值服务!