新闻中心

EEPW首页>嵌入式系统>设计应用> 嵌入式操作系统Nucleus下触摸屏驱动的开发

嵌入式操作系统Nucleus下触摸屏驱动的开发

作者: 时间:2009-11-05 来源:网络 收藏

图4

2.2 这里不打算对怎么创建一个Lisr,Hisr和激活一个任务做太多的介绍,详细可以看的文档。重点介绍ADS7846的程序的处理和如何将所得数据在LCD上正确显示出来。

2.2.1 ADS7846处理程序的流程图如图五所示

图5

ADS7846在计算触摸坐标时有两种方式,single ended模式和difference 模式。Single ended模式利用ADS7846内部参考电压或者外部参考电压,得出的结果是一个电压的AD结果。 Difference 不需要内部或者外部的参考电压,这种模式得出的结果是触摸点在位置上的百分比。这种模式可以消除参考电压波动对换算结果的影响。 2.2.2 ADS7846换算结果在LCD屏幕上的映射

假设LCD是个160 x 128 像素大小的屏幕,如图六所示,假设A点的坐标为(0,0),那么可知道B,C,D是(128,0),(0,160),(128,160)。通过ADS7846得出A,B,C,D的转换结果分别是(Xa,Ya),(Xb,Yb),(Xc,Yc),(Xd,Yd),再得出屏幕中任意点X转换结果(Xx,Yx),那么X的坐标(x,y)可以通过下式算出来:

X=Xb -Xa=Xd -Xc
Y=Yc -Ya=Yd -Yb
x = (Xx-Xa) * 128 /X
y = (Yx -Ya) * 160/Y

得出的一系列坐标以后,作为手写识别软件的输入,就可得出输入的汉字,字符等。

3. 结论

本文简单介绍了,由于当前触摸屏的应用越来越广泛,系统的应用范围也越来越广,将对其他系统下有一定的借鉴意义。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭