5894|24

63

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求救,关于WINCE下的触摸屏驱动 [复制链接]

     最近在调试触摸屏驱动,但遇到了一个奇怪的问题,问题描述如下:
     开机后,可以实现触摸功能,也可以实现校准功能。但是,除最顶栏处的菜单栏和最低处的任务栏,其他地方均可以正常点击,这两处均点击不正常。
     点击最顶栏处的菜单栏的时候,略往下点击一些就可以点击到菜单,如文件、查看。但关闭键要往上一些,而且要偏左点。
     点击最底栏处的任务栏的时候,略往上点击一些就可以点击到开始键,但任务栏中间位置那基本可以实现正常点击。时间和键盘位置怎么都点击不到。
     其他地方,都没问题,看程序看了好久,没有任何头绪。所以,在此,求救各位高手,指点一二,不胜感激。
此帖出自WindowsCE论坛

最新回复

MARK  详情 回复 发表于 2010-3-24 10:44
点赞 关注
 

回复
举报

85

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这种怪事没有遇到。是否是触摸屏质量问题?
此帖出自WindowsCE论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
应该不是这个问题,因为这个触摸屏在其他板子上也用过,但没发生这么奇怪的现象
此帖出自WindowsCE论坛
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

4
 
很可能是触摸屏驱动中设定了AD采样有效值的范围,
而这个范围并不适合你的这个触摸屏。
不知道楼主的硬件平台是什么,有些BSP自带的触摸驱动问题多多的。
此帖出自WindowsCE论坛
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

5
 
忘记说我的硬件了,我用芯片是ADS7846,采样值是12位,有效范围?今天也想到这个了,但是目前还不清楚WinCE6.0中触摸屏的坐标值允许范围是多少,有没有超范围尚不清楚。
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

6
 
ADS7286应该没什么问题。上面所说的有效值是指驱动认为有效的AD采样值,12位的,一般上限可能是4000。楼主可以仔细查看一下触摸驱动中有关获取AD采样的地方。
此帖出自WindowsCE论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

7
 
12的有效值,应该上限是4095吧?这个在触摸屏未点击的情况下,读取坐标值是(0,4095),4000有点低了吧?
AD采样,这个,能否说的详细些?
此帖出自WindowsCE论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

8
 
楼主的MCU是哪一颗?
可以把触摸驱动的代码贴出来,让大家帮着看看。
此帖出自WindowsCE论坛
 
 
 

回复

85

帖子

1

TA的资源

一粒金砂(初级)

9
 
应该不是采样值的问题,
我遇到过LZ的问题, 我的平台是2410, 6.0下, 我是通过修改TSP_TransXY和TSP_GetXY两个函数解决的.

建议从这个方面下点功夫, 注意屏的分辨率.

此帖出自WindowsCE论坛
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

10
 
MCU是TMS320DM355,代码不太方便贴出来,见谅。
代码是在已有的驱动上修改的,应该问题不大,只是这种离奇现象,碰到的比较少。
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 8 楼 pony_maggie 的回复:
应该不是采样值的问题,
我遇到过LZ的问题, 我的平台是2410, 6.0下, 我是通过修改TSP_TransXY和TSP_GetXY两个函数解决的.

建议从这个方面下点功夫, 注意屏的分辨率.


我的平台也是6.0,屏的分辨率为800*480,不知道您是这么解决这个问题的。
您说的TSP_TransXY和TSP_GetXY,这两个函数应该是获得坐标值和传输坐标值的吧?那应该注意哪些地方?我的程序里没这两个函数,但有类似的函数。
此帖出自WindowsCE论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

12
 
TSP_TransXY把采样值翻译成坐标值,这个函数的实现用的是一个公式,
至于这个公式的原理我不太清楚, 有没有高手出来解答一下.
此帖出自WindowsCE论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

13
 
添加trace,
看看触摸时坐标是多少,以便查看问题的原因
此帖出自WindowsCE论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

14
 
触摸驱动中其实并不需要做坐标转换。
这个工作WinCE本身已经做好了。如果自己做坐标转换,反而会出现异常。
此帖出自WindowsCE论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用 11 楼 pony_maggie 的回复:
TSP_TransXY把采样值翻译成坐标值,这个函数的实现用的是一个公式,
至于这个公式的原理我不太清楚, 有没有高手出来解答一下.

那您当时是怎么修改程序,然后成功了呢?
我这边是直接将获得的采样值给MDD调用的,没有经过转换的。
此帖出自WindowsCE论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

16
 
引用 12 楼 arm9linuxpp 的回复:
添加trace,
看看触摸时坐标是多少,以便查看问题的原因

我把坐标打印出来了,坐标值是正确的,也体现了接近线性的变化,但是怎么都点击不到屏幕的边缘部分。
在屏幕上点击不放,拖动,可以实现虚线框,但是到不了底部,顶部是可以的。从左边拖动,可以实现除底部约2CM以为的整个屏幕,但从右边拖动,仅仅可以实现屏幕的一半,也包括底部。
此帖出自WindowsCE论坛
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(初级)

17
 
上面写错了。
但从右边拖动,仅仅可以实现屏幕的一半,也不包括底部2CM的地方。
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

18
 
要么是硬件的问题,要么是驱动的问题。
楼主可逐一排查,先确认硬件是否有问题。这种现象是个例还是通病。

驱动的问题,只有看到代码才能知道。
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

19
 
硬件,由于是使用IC,直接与摸屏的4根线相连,调试时又有数据输出,且数据接近线性,感觉可能性应该不大。
软件,就不敢保证了,但是由于是从别的驱动移至过来的,问题应该不大。其次,触摸屏的驱动,只要实现了DDSI函数,应该问题不大。
这次的触摸屏奇怪的现象,尚未碰到过。四周及边缘均无反应,中间位置却正常。
尝试着把校准点移至触摸屏边缘,发现有些点位于屏幕外,好奇怪的现象。校准后仍不准。
此帖出自WindowsCE论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

20
 
还是怀疑限制的有效区域的问题。
楼主自己仔细研究一下代码吧。

重点是类似于下面这段的代码

  1. #define TSP_MINX                                                85
  2. #define TSP_MINY                                                105

  3. #define TSP_MAXX                                                965
  4. #define TSP_MAXY                                                980
复制代码

将最大值和最小值的范围适当放大一点。
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表