首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

关于触摸屏跳点有关问题

2012-04-11 
关于触摸屏跳点问题记得去年已经发现了这个问题,情况是这样,点击触摸屏任何区域都没有问题,很稳定,没有抖

关于触摸屏跳点问题
记得去年已经发现了这个问题,情况是这样,点击触摸屏任何区域都没有问题,很稳定,没有抖动,可是打开软键盘输入字符,偶尔就会按下一些字符,就会跳到退格键和回车键上,这是咋回事?刚开始以为是系统的自带软件的问题,我也想不到好办法解决,后来发现立宇泰的2440 开发板也存在这个问题,我们就是买它的板子来照着做的,后来弄了几个开发板来尝试,发现FL2440不存在这种问题,我对比了触摸屏驱动,几乎一摸一样。后来对比硬件,发现触摸屏的AD参考电压 那里我们和立宇泰都没有在就进接个电阻和电容。飞凌接了个110欧的电阻和0.1 uf的电容。
  产品已经量产,并且这个现象不是很严重,所以就几个月都没有去理会,后来再做一款,问题相当的严重,三次就有一次退格,现在不得不解决了。
  大家有什么招数?这个不是不准的问题,不启动这个软键盘按别的他还是很准的,所以用去抖动的方法是无效的。
  我正在想办法,正在纠结。

[解决办法]
输入法有问题? 换一个输入法看看。
[解决办法]
多采样几次试试啊,我采样8次
[解决办法]
我采样 4 各点,取最接近的两个点做平均
作为有效点~!
[解决办法]
记得你所说的这个情况。
硬件上的问题可能性最大,我们有在使用中发现某些不好的屏,放在那里,都不用调什么软键盘就能看到屏幕一直有响应,就像是有东西在按,实际上是和屏有关,触摸屏安装时边缘压得太紧也会导致这个问题,松松现象就会有很大改观。

要从软件上解决的话似乎只能是多采样过滤了。
[解决办法]

探讨
记得你所说的这个情况。
硬件上的问题可能性最大,我们有在使用中发现某些不好的屏,放在那里,都不用调什么软键盘就能看到屏幕一直有响应,就像是有东西在按,实际上是和屏有关,触摸屏安装时边缘压得太紧也会导致这个问题,松松现象就会有很大改观。

要从软件上解决的话似乎只能是多采样过滤了。

[解决办法]
你的 触摸屏上面有 X Y 线路上是不是有 4 个匹配电容,
把匹配电容取消掉看看~!~!
[解决办法]
为什么每次都是跳到退格键和回车键上呢?我感觉是不是还是输入法软件有问题啊。如果是触摸不准的话,应该跳到隔壁的键上才对。
[解决办法]
GOOGLE你这个问题需要软硬件一起来解决。
一:你说的应该是四线屏吧!
在XM,XP,YM,YP四个脚附近加一个1nF到100nf的电容,先拿 1nF试试,用于滤除屏的DCLK,背光CLK等对TP的干扰,这四个电容必不可少!
二:需要注意硬件的走线问题,TP的四根线,尤其是采样的两根线(四线屏三星架构中只用了两个ADC,另两个是配置的)不要受到干扰
三:如果能将你们板的屏的背光用外部直流电源等供电,可以一试。
四:加过滤算法,在驱动中打印每次采样的数据,分析里面的值,抛弃错误的点,可以一次采8次,去掉最大最小值,再求平均之类的方法。
五:在四的基础上分析,是否每次落笔时或是抬笔时采样的数据不准确,反复测试,看那个不准确的值的几率,如果是抬笔,做抬笔的算法,如果是落笔,做落笔的算法,很多触摸屏会是第一次和最后一次采样数据不对,这样就会像你说的飘到其他点去了,做个算法每次提交的值取你采样的上一次的值问题解决。

我可是看着你这一百分来的哦
[解决办法]
觉得跟触摸屏有关系,我之前用的就不行,要加个滤波程序
[解决办法]
我也刚遇到过这样的问题,对软键盘,现在这种情况还暂能接受。你要是在这样的屏上想搞手写输入法,根本不可能实现!
1、就像veabol所说的,和硬件有关。触摸屏和按键一样,也有抖动,本来:按下——>多次正确定时采样——>一次可能错误的采样——>抬起;但是经打印提示发现真实的情况是:按下——>多次正确的定时采样——>一次可能错误的采样——>抬起——>按下——>一次错误的定时采样——>抬起(抖动)。
其中:一次可能错误的采样:触屏抬起时正在定时中断中进行采样而获得;
一次错误的定时采样:因为抖动读到的无效值——原来出现的跳点就是这个原因。
上面的论述楼主可通过DdsiTouchPanelGetPoint函数中打印输出验证;

2、对上面的情况,在硬件不能修改的情况下,主要还得软件滤波,其中enumTouchPanelSampleFlags这个结构体很重要,通过它可将坐标值反馈给MDD无效;
3、因为我是一直一个手写输入软件,主要是进行了下面修正:
1)为使书写线条更平滑,提高定时采样频率,减少采样点数,每次采样SAMPLECOUNT = 8个点;
2)优化算法:将每次定时中断采样得到的8个点,先进行排序,再分别扔掉最小和最大的两个点,取 均值得到坐标;
3)滤除一次可能错误的采样:排序后相邻两个坐标值求差后和参考值(参考值:正常书写速度两次采样之间的坐标相差最大值)求差,相差大于参考值的滤除,但该算法还需经过大量实验验证,来获取最合适的参考值;
4)滤除一次错误的定时采样:在正常抬起后设全局标志,而滤除后续的抖动采样,利用enumTouchPanelSampleFlags结构体返回给MDD层无效标志。


探讨
记得你所说的这个情况。
硬件上的问题可能性最大,我们有在使用中发现某些不好的屏,放在那里,都不用调什么软键盘就能看到屏幕一直有响应,就像是有东西在按,实际上是和屏有关,触摸屏安装时边缘压得太紧也会导致这个问题,松松现象就会有很大改观。

要从软件上解决的话似乎只能是多采样过滤了。

[解决办法]
上前天也开始学习wince定制和驱动这些,目前也正遇到这个问题,6410核心板在开发板上是不抖动的,换到我的板子就开始抖动,为了改好这个抖动,要反复改nk来测试,为了方便下载调试而不拔核心板,昨天花了半天写了一个从SD卡自动下载nk.bin的eboot,然后继续尝试,改getxy,抛弃异常点,有点效果了,但是仍然不合格。

现在开始改硬件,肯定是供电问题,我是用1117给核心板供电的,肯定小了,停电了现在,呆会来电就换一个LM317试试看,再不行,直接把稳压电源接到核心板上,
------解决方案--------------------


跳点的原因可能是落笔点和抬笔点采样不准确吧
就是刚按下和刚抬起的那一次采样,由于触摸屏的原因可能不准
把这些点丢弃,只在定时器中断中采的点才有效试试.
[解决办法]
http://www.cnblogs.com/we-hjb/archive/2009/12/16/1626020.html
看看这里,希望有所帮助。
[解决办法]
300 分, 真是令人心动啊

pb 中的 catalog 内有一个 "Touch Driver Test Application", 加入就可後执行 etcha.exe, 这时将该程式视窗移到 4 个角落, 并点入该视窗中不要放, 这时就可以看出这支 touch sw/hw 好不好, 好的是压着再久也是一小点, 不好的点会越长越大, 甚至还会不时天外飞来一笔.

touch 是 analog 的东西, 若是信号太脏, 那是 hardware 的问题, 光靠 software 是很难校正回来的, 建议 lz 用 oscilloscope 看看波形, 若是量测时波形的厚度太大, 那用请 hardware 加一些 capacitor 做 filter, 先 delay 一段时间再取样再试试看.

Paul, Chao @ Techware

[解决办法]
硬件的问题很难通过软件来解决,先确认硬件到底有没有问题吧。
[解决办法]
gman,搞个滤波算法,把偏离大的点滤掉啊

热点排行