OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6989|回复: 5

关于触摸屏的小问题

[复制链接]

6

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2012-6-25
在线时间
0 小时
发表于 2012-11-18 22:00:37 | 显示全部楼层 |阅读模式
1请问此函数中边界问题
 u8 Read_ADS(u16 *x,u16 *y)
{
 u16 xtemp,ytemp;         
 xtemp=ADS_Read_XY(CMD_RDX);
 ytemp=ADS_Read_XY(CMD_RDY);                 
 if(xtemp<100||ytemp<100)return 0;//读数失败
 *x=xtemp;
 *y=ytemp;
 return 1;//读数成功
}
      

追溯到主函数中 Convert_Pos(); 即坐标值校正后转换结果,问题是//////此处 if(xtemp<100||ytemp<100)return 0;//读数失败       就是说坐标x<100,y<100都不会出现,否则返回0是吗??但触摸屏的字写在边上也可以的啊。不是矛盾吗?

2 还有一个问题啊 那个LCD自带的XPT2046是怎么样把采样得到的AD值 和XY的坐标值对应起来的啊?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-11-18 23:30:49 | 显示全部楼层
回复【楼主位】天明:
---------------------------------
1,你写个代码实际观察一下触摸屏的数据(原始数据!)。
2,XPT2046就是个触摸屏-->AD转换的芯片,触摸屏是电阻屏,然后XPT2046就采集电阻变化,转换为数字量(AD),得到的数字量,就是xy的坐标。
详细原理,你还是百度看看吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2012-6-25
在线时间
0 小时
 楼主| 发表于 2012-11-21 18:28:19 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢了 原子哥!大概是弄懂了  
1此处 if(xtemp<100||ytemp<100)是因为后面校准过 此段相当于处于无效区,但是if(xtemp<100||ytemp<100)return 0;//后面的返回0读数无效的逻辑不能丢,因为结合主函数如果任何数读数都有效,则当没有接触触摸屏时候,认为处于极小值会不断复位。
2 AD转换是具体芯片内部定义了 只要写入控制字 读出数据 就表示坐标定位了

是这样吧?
回复 支持 反对

使用道具 举报

6

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2012-6-25
在线时间
0 小时
 楼主| 发表于 2012-11-21 22:33:57 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥 再打扰下。麻烦了啊!       我通过反向计算 得到 4个校准点的物理坐标
 点1(855,969),点2(-686,969),点3(855,-600),点4(-686,-600)。问题是这个物理坐标是有负的吗?触摸屏显然是差分模式的。一般AD采样是正值吧? 不知道我这边有没有思维错误或者算错了得到负值的。貌似我上面的推断又要再看看了
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-11-22 00:05:02 | 显示全部楼层
不可能的了,你算错了!!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2012-6-25
在线时间
0 小时
 楼主| 发表于 2012-11-22 21:55:55 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
果然笔误算错了,幸好查到了,算出来  4个校准点的物理坐标 大致
 点1(1780,1866),点2(239,1866),点3(1780,297),点4(239,297)。此时计算x下限大致85(实际效果是100左右),y下限185左右。                 和实际效果还蛮接近啊!不过有些具体细节再查些资料多理解下了!
  谢了啊 原子哥!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-18 21:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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