OpenEdv-开源电子网

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

正点原子帮忙解释一下

[复制链接]

1

主题

5

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2014-11-24
在线时间
2 小时
发表于 2014-11-24 20:09:44 | 显示全部楼层 |阅读模式
5金钱

电阻屏校准的里程序
     tp_dev.xfac=(float)(lcddev.width-40)/(pos_temp[1][0]-pos_temp[0][0]) 
     tp_dev.xoff=(lcddev.width-tp_dev.xfac*(pos_temp[1][0]+pos_temp[0][0]))/2
       
     tp_dev.yfac=(float)(lcddev.height-40)/(pos_temp[2][1]-pos_temp[0][1])
     tp_dev.yoff=(lcddev.height-tp_dev.yfac*(pos_temp[2][1]+pos_temp[0][1]))/2
     if(abs(tp_dev.xfac)>2||abs(tp_dev.yfac)>2)

    LCD屏是320*240,正常X、Y采集时对应的AD,12位最大为4096,
   tp_dev.xfac,tp_dev.yfac正常不可能大于2的,什么理解呢?

最佳答案

查看完整内容[请看2#楼]

实际测试,pos_temp[2][1]-pos_temp[0][1]的绝对值,都会大于320的,所以实际上fac都是小于1的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-24 20:09:45 | 显示全部楼层
实际测试,pos_temp[2][1]-pos_temp[0][1]的绝对值,都会大于320的,所以实际上fac都是小于1的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2014-11-24
在线时间
2 小时
 楼主| 发表于 2014-11-25 20:12:17 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
 既然 if(abs(tp_dev.xfac)>2||abs(tp_dev.yfac)>2) 都不可能成真的
那后面if里面的程序,不是没有意义啊。为什么abs(tp_dev.xfac)>2||abs(tp_dev.yfac)>2 时就是X,Y方向与屏幕相反。     
                                            
                                                                             if(abs(tp_dev.xfac)>2||abs(tp_dev.yfac)>2)//触屏和预设的相反了
{
cnt=0;
       TP_Drow_Touch_Point(lcddev.width-20,lcddev.height-20,WHITE); //清除点4
      TP_Drow_Touch_Point(20,20,RED); //画点1
LCD_ShowString(40,26,lcddev.width,lcddev.height,16,"TP Need readjust!");
tp_dev.touchtype=!tp_dev.touchtype;//修改触屏类型.
if(tp_dev.touchtype)//X,Y方向与屏幕相反
{
CMD_RDX=0X90; 
CMD_RDY=0XD0;  
}else  //X,Y方向与屏幕相同
{
CMD_RDX=0XD0;  //XPT2046选择测量X通道命令
CMD_RDY=0X90;  //XPT2046选择测量Y通道命令
}     
continue;
}
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-25 23:01:01 | 显示全部楼层
回复【3楼】chensomg:
---------------------------------
这里是X,Y坐标调转了才出现的情况。
你设置为横屏,然后再校准,测试下。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2014-11-24
在线时间
2 小时
 楼主| 发表于 2014-11-26 21:59:18 | 显示全部楼层
好的,谢谢!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-28 13:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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