FL2440下触摸屏校准
来源:互联网 发布:中国域名节活动意义 编辑:程序博客网 时间:2024/05/02 23:21
由于FL2440自带的文件系统中busybox命令不支持TAB自动补全,所以自己重新制作了文件系统,然后烧写,不过过后有点问题,触摸屏不好
使了。也没有提示校准。下面是解决方法
一:WINCE之校屏
WINCE的校屏参数是保存在注册表中的。打开BSP包中的platform.reg,找到如下代码:
- IF BSP_NOTOUCH !
- [HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/TOUCH]
- "MaxCalError"=dword:7
- "CalibrationData"="626,464 1054,823 192,813 190,108 1070,104"
- "Order"=dword:1
- ENDIF BSP_NOTOUCH !
这里的CalibrationData即是校屏数据。由于WINCE开机后触摸偏移太大,根本没法点击进入校屏程序,有两种方法:
方法一:如果您手上有USB鼠标,将USB鼠标插入USB的HOST接口,这时就可以通过鼠标进入校屏界面了。点开始,控制
面板,笔针。
方法二:这种方法不适合初学者,适合程序开发人员。首先同步开发板,将校屏应用程序拷到开发板某目录,再通过
VS2005,任意打开一个应用程序,将程序入口指向拷备的应用程序,再F5,即运行了该校屏程序。详细步骤这里就不
一一列举了。
校完屏后,如果校正的注册表丢失,再重烧系统后,又会出现偏移。批量生产时就更不用说了。那怎么办呢?其实,当
您校完屏后,保存的校正数据已经保存起来了。通过remote register editer查看注册表信息,进入如下路径:
HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/TOUCH
记录CalibrationData的数据,将platform.reg里的错误数据用该数据替换。注意,files目录下的和release目录下的
platform.reg都要修改!更改后再make一下,生成的NK,就是正确的数据了。
二:LINUX之校屏
由于飞凌开发板默认没有校屏,但是引导linux系统后,已经进入shell界面了[QT界面],没有校准的过程。怎么办?通过
DNW或者超级终端,进入linux的consloe,查看/etc下有个文件pointercal,删除该文件,reboot,系统将重启,自动进入校准界面。这时就可以校屏了。
如果这时校屏仍然无法成功,即反复的点击那个十字架不停,这是触摸屏驱动的问题,“修改以下代码:
/drivers/char/s3c2410ts.c中将static inline void s3c2410_get_XY(void)函数中的x,y值调换顺序。” 具体地:
- static inline void s3c2410_get_XY(void)
- {
- if (adc_state == 0) {
- adc_state = 1;
- disable_ts_adc();
- x = __raw_readl(S3C2410_ADCDAT1) & 0x3ff;//x:f04 y:f0e by pht.
- mode_y_axis();
- start_adc_y();
- } else if (adc_state == 1) {
- adc_state = 0;
- disable_ts_adc();
- y = __raw_readl(S3C2410_ADCDAT0) & 0x3ff;//y:f04 x:f0e by pht.
- DPRINTK("PEN DOWN: x: %08d, y: %08d/n", x, y);
- wait_up_int();
- tsdev.penStatus = PEN_DOWN;
- tsEvent();
- }
- }
改为
- static inline void s3c2410_get_XY(void)
- {
- if (adc_state == 0) {
- adc_state = 1;
- disable_ts_adc();
- y = __raw_readl(S3C2410_ADCDAT1) & 0x3ff;//x:f04 y:f0e by pht.
- mode_y_axis();
- start_adc_y();
- } else if (adc_state == 1) {
- adc_state = 0;
- disable_ts_adc();
- x = __raw_readl(S3C2410_ADCDAT0) & 0x3ff;//y:f04 x:f0e by pht.
- DPRINTK("PEN DOWN: x: %08d, y: %08d/n", x, y);
- wait_up_int();
- tsdev.penStatus = PEN_DOWN;
- tsEvent();
- }
- }
然后重新编译内核,烧写内核
- FL2440下触摸屏校准
- FL2440下触摸屏校准
- FL2440下触摸屏校准问题
- WinCE下的触摸屏校准
- WinCE 下触摸屏的校准
- 触摸屏校准
- WinCE5下直接调用触摸屏校准程序
- wince下的触摸屏校准【转】
- WinCE5.0下触摸屏的校准
- WinCE下如何调用触摸屏校准程序
- wince下的触摸屏校准程序源码
- WinCE下如何调用触摸屏校准程序
- WinCE下如何调用触摸屏校准程序
- 在WinCE下调用校准触摸屏的API和源代码
- 在WinCE下调用校准触摸屏的API和源代码
- TQ2440 开发板 linux系统下 触摸屏校准
- 在WinCE下调用校准触摸屏的API和源代码
- fl2440之触摸屏移植
- mysql 重设置密码
- 当前服务器环境不支持curl组件
- 在dos命令行里面取时间日期%date% 和 %time%
- ubuntu下在连接arm开发板的情况下,使用无线网卡上网设置
- Objective-C 之NSAutoreleasePool
- FL2440下触摸屏校准
- informix Locale not supported
- iPhone程序连接到真机调试(注册了APP ID及购买了IDP开发者授权的前提下)
- linux虚拟机空间不足解决
- CSS hack:针对IE6,IE7,firefox显示不同效果
- 为Centos5添加网易163、搜狐的yum源
- mysql语句
- DOS命令FOR /F 字符处理功能
- apache开启.htaccess支持