搜索
bottom↓
回复: 10

请问里面做触摸屏的朋友们是如何效准的。。我的触摸屏不知道如何自动效准。。如果想

[复制链接]

出0入0汤圆

发表于 2008-2-15 20:03:54 | 显示全部楼层 |阅读模式
请问里面做触摸屏的朋友们是如何效准的。。我的触摸屏不知道如何自动效准。。批量生产很不方便

出0入0汤圆

发表于 2008-2-15 20:37:22 | 显示全部楼层
一般电阻式的,
出厂时做人工手动调效
使用一段时间后,仍需人工调试

所以弄一菜单调效比较好,(不自动了)

出0入0汤圆

 楼主| 发表于 2008-2-16 10:44:32 | 显示全部楼层
谢谢

出0入0汤圆

发表于 2008-2-17 22:14:31 | 显示全部楼层
这个问题是好麻烦的.

出0入0汤圆

 楼主| 发表于 2008-2-19 17:51:09 | 显示全部楼层
其实原理简单。但是做起来感觉就不是那么回事情了

出0入0汤圆

发表于 2008-2-19 21:29:50 | 显示全部楼层
在坛子里找,我贴过一个有校准程序的例程

出0入0汤圆

发表于 2008-2-20 08:55:30 | 显示全部楼层
不是说程序的问题,是人工安装的时候每次都有误差,总不能每次都改程序吧?

出0入0汤圆

发表于 2008-2-20 08:56:25 | 显示全部楼层
我提个最简单的办法,先安装好一个,然后每个都按这个样板安装.

出0入0汤圆

发表于 2008-2-20 09:22:19 | 显示全部楼层
先在LCD上显示三个不在同一条直线的点(三点定面),再在触摸屏点击上面三点,通过三点定面算法可以搞定。

出0入0汤圆

发表于 2008-2-22 11:59:51 | 显示全部楼层
但我用的是电容式的,我该怎么办了?

出0入0汤圆

 楼主| 发表于 2008-2-22 13:47:25 | 显示全部楼层
ClrLCD();
                        for(t= 0xffff;t!=0;t--){_nop();_nop();}
                        Writeline(13,112,xiaozhun1);
                        Writeline(7,130,xiaozhun2);
                        Writeline(1,16,"●");//效准X的最小值和Y的最大值
                        while(Z_var < 3500);//排除误动作
                        for(;;){
                                if(Z_var < 3500){
                                        Y_max = temp_var_y;
                                        X_min = temp_var_x;
                                        if((Y_max < 4070)&(Y_max > 3000)&(X_min >300)&(X_min < 1500)){
                                                break;
                                        }
                                }
                        }
                        ClrLCD();
                        for(t= 0xffff;t!=0;t--){_nop();_nop();}
                        Writeline(13,112,xiaozhun1);
                        Writeline(7,130,xiaozhun2);
                        Writeline(36,214,"●");//效准X的最大值和Y的最大小值
                        while(Z_var < 3500);//等到按键放开
                        for(;;){
                                if(Z_var < 3500){
                                        Y_min = temp_var_y;
                                        X_max = temp_var_x;
                                        if((Y_min < 1000)&(Y_min > 300)&(X_max >3300)&(X_max < 4070)){
                                                break;
                                        }
                                }
                        }
                        ClrLCD();
                        for(t= 0xffff;t!=0;t--){_nop();_nop();}
                        Writeline(13,112,xiaozhun1);
                        Writeline(7,130,xiaozhun2);
                        Writeline(30,100,"●");//效准一个点的位置
                        while(Z_var < 3500);//等到按键放开
                        for(;;){
                                if(Z_var < 3500){
                                        Y_base = Y_max - Y_min;
                                        Y_base_float =  198.0 / Y_base;

                                        X_base = X_max - X_min;
                                        X_base_float = 36.0 / X_base;

                                        Y_address = (temp_var_y - Y_min)*Y_base_float - 140;
                                        X_address = (temp_var_x - X_min)*X_base_float - 30;
                                        state_menu = 1;
                                        break;
                                }
                        }

的确是三点的办法去效验。。上面是我效验的具体程序段落。。
不过里面还是有问题。因为AD到的值变化很大,所以不是很准确,可能跟我的布局有一定的关系。希望对其他的朋友有个参考的目的。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 21:43

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表