OpenEdv-开源电子网

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

关于3.2寸电阻触摸屏设置触摸按键的问题

[复制链接]

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2016-8-19
在线时间
11 小时
发表于 2016-11-21 19:43:15 | 显示全部楼层 |阅读模式
1金钱
我在调程序时候,找不到判断触摸点变量
        if( (tp_dev.x[0])<TOUCH_X_R && (tp_dev.x[0])>TOUCH_X_L&&(tp_dev.y[0])<TOUCH_Y_D && (tp_dev.y[0])>TOUCH_Y_U)

试着修改,用上面的程序去判断触摸点结果也是不好使。然后又用串口输出tp_dev.x[0],tp_dev.y[0]的值,结果着两个值总是固定值!不随触摸点变化。。。
然后,现在陷入了困境。有大神能帮帮我么


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2016-11-21 22:04:38 | 显示全部楼层
就是判断X,Y的坐标而已啊。怎么不好使了?你显示xy坐标出来,看看规律吧
回复

使用道具 举报

339

主题

418

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1631
金钱
1631
注册时间
2016-9-29
在线时间
114 小时
发表于 2016-11-22 09:46:45 | 显示全部楼层
电阻屏先要校准,下一个标准例程试一下触摸屏操作是否正常;在正常的例程里面再让显示触摸坐标,看一下与物理坐标的关系。
看你说的这个情况,触摸屏就没有校准
回复

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2016-8-19
在线时间
11 小时
 楼主| 发表于 2016-11-22 18:21:17 | 显示全部楼层
zhlmtt 发表于 2016-11-22 09:46
电阻屏先要校准,下一个标准例程试一下触摸屏操作是否正常;在正常的例程里面再让显示触摸坐标,看一下与物 ...

我是正常校准过后再开使调试的啊,在屏幕上显示触摸轨迹也是好使的,就是无法设置清除按键的区域,我是用tp_dev.x[0],tp_dev.y[0]去判断的触摸点位置,是用这两个参量么??朋友
回复

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2016-8-19
在线时间
11 小时
 楼主| 发表于 2016-11-22 18:21:53 | 显示全部楼层
正点原子 发表于 2016-11-21 22:04
就是判断X,Y的坐标而已啊。怎么不好使了?你显示xy坐标出来,看看规律吧

嗯,我再试试吧
回复

使用道具 举报

7

主题

90

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
325
金钱
325
注册时间
2016-10-21
在线时间
43 小时
发表于 2016-11-22 19:14:47 | 显示全部楼层
要调用scan函数后,那两个变量才会更新,
回复

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2016-8-19
在线时间
11 小时
 楼主| 发表于 2016-11-24 15:43:38 | 显示全部楼层
本帖最后由 cbq123 于 2016-11-24 15:45 编辑
cbq123 发表于 2016-11-22 18:21
嗯,我再试试吧

        while(1)
        {
                 key=KEY_Scan(0);
                tp_dev.scan(0);

                if(tp_dev.sta&TP_PRES_DOWN)                        //′¥&#195;t&#198;á±&#187;°′&#207;&#194;
                {               
                         if(tp_dev.x[0]<lcddev.width&&tp_dev.y[0]<lcddev.height)
                        {        
               
                                                
               
                                if(
                                                        (tp_dev.x[0]> TOUCH_X_L )&&
                                                        (tp_dev.x[0]< TOUCH_X_R )&&   //触摸按键范围
                                                        (tp_dev.y[0]< TOUCH_Y_D )&&
                                                        (tp_dev.y[0]> TOUCH_Y_U )
                                  )  
                                {
                                                
                                                        Load_Drow_Dialog();        //清屏
                        
                                                        POINT_COLOR=BLUE;//画笔颜色为蓝色      
                                       
                                }        
原子哥,我是用
        if(
                                                        (tp_dev.x[0]> TOUCH_X_L )&&
                                                        (tp_dev.x[0]< TOUCH_X_R )&&   
                                                        (tp_dev.y[0]< TOUCH_Y_D )&&
                                                        (tp_dev.y[0]> TOUCH_Y_U )
                                  )  
来判断触摸屏清除键的位置的,但是为什么会出问题啊
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2016-11-27 12:20:06 | 显示全部楼层
cbq123 发表于 2016-11-24 15:43
while(1)
        {
                 key=KEY_Scan(0);

仿真跟踪。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-3-1 16:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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