OpenEdv-开源电子网

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

emwin5.44移植触摸xy轴颠倒问题

[复制链接]

2

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2019-4-23
在线时间
37 小时
发表于 2020-3-11 12:47:56 | 显示全部楼层 |阅读模式
本人小渣渣一枚,这两天才刚开始学习emwin,遇到点小问题,分享一下希望对同样的初学者有些帮助。

看了原子哥的视频教程,在F407探索者上移植了emwin最新的5.44版。发现了一个问题,竖屏时正常,当切换到横屏时发现触摸的x、y轴并没也有切换过来,也就是x、y轴颠倒了,不知道原因。

困扰了一晚上,最后通过更改GUI_X_Touch_Analog.c里面后去触摸坐标的函数解决了,将X、Y轴的CMD_RDX调换,然后还需要将LCDConf_FlexColor_Template.c中关于触摸屏横屏的分辨率水平和竖直方向进行调换不然会出现触摸失准。

附上裸机移植的代码。
  1. else if(lcddev.id == 0X5310 || lcddev.id == 0X6804) //0X5510 0X6804为3.5寸 320x480
  2.         {
  3.                 if(lcddev.dir == 0) //竖屏        
  4.                 {                                                       
  5.                         GUI_TOUCH_Calibrate(GUI_COORD_X,0,320,3839,169);
  6.                         GUI_TOUCH_Calibrate(GUI_COORD_Y,0,480,3887,131);
  7.                 }else //横屏
  8.                 {
  9.                         GUI_TOUCH_SetOrientation(GUI_SWAP_XY|GUI_MIRROR_Y);
  10.                         GUI_TOUCH_Calibrate(GUI_COORD_X,0,480,3871,173);
  11. <div>                        GUI_TOUCH_Calibrate(GUI_COORD_Y,0,320,3895,128); </div><div>//此处原来为</div><div>//GUI_TOUCH_Calibrate(GUI_COORD_X,0,320,3871,173);   </div><div> //GUI_TOUCH_Calibrate(GUI_COORD_Y,0,480,3895,128);   </div>                }
  12.         }
复制代码
  1. int  GUI_TOUCH_X_MeasureX(void)
  2. {
  3.         int32_t xvalue;
  4.         if((lcddev.id == 0X5510) || (lcddev.id == 0X1963)) //电容屏的触摸值获取(使用NT5510和SSD1963芯片的4.3寸和7寸屏都是电容屏)
  5.         {
  6.                 tp_dev.scan(0);
  7.                 xvalue=tp_dev.x[0];
  8.                 return xvalue;
  9.         }else                                //电阻屏
  10.         {
  11.                 return TP_Read_XOY(0X90);  //CMD_RDX=0XD0
  12.         }
  13. }

  14. int  GUI_TOUCH_X_MeasureY(void)
  15. {       
  16.         int32_t yvalue;
  17.         if((lcddev.id == 0X5510) || (lcddev.id == 0X1963))//电容屏的触摸值获取(使用NT5510和SSD1963芯片的4.3寸和7寸屏都是电容屏)
  18.         {
  19.                 tp_dev.scan(0);
  20.                 yvalue = tp_dev.y[0];
  21.                 return yvalue;
  22.         }else                                //电阻屏
  23.         {
  24.                 return TP_Read_XOY(0XD0);  //CMD_RDX=0X90
  25.         }
  26. }
复制代码

IMG_20200311_123123.jpg

STemWin裸机移植.zip

16.71 MB, 下载次数: 233

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

使用道具 举报

15

主题

137

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1427
金钱
1427
注册时间
2019-4-22
在线时间
272 小时
发表于 2020-3-28 17:16:06 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2019-11-2
在线时间
5 小时
发表于 2020-4-2 13:48:14 | 显示全部楼层
真的很感谢您帮我解决了一个很大的问题,我一直的时候也是这样子而且困惑了我很长的时间。请问一下当时您是怎么把问题放在GUI_X_Touch_Analog.c上的,我连续好多天都找不到问题所在,最后放弃了,在看到您发的这个文章之后我试了一下成功了
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2019-11-2
在线时间
5 小时
发表于 2020-4-2 13:49:07 | 显示全部楼层
或者说我根本就没有想到问题会在这两个地方
回复 支持 反对

使用道具 举报

2

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2019-4-23
在线时间
37 小时
 楼主| 发表于 2020-5-22 12:29:22 | 显示全部楼层
GavinXiao 发表于 2020-4-2 13:48
真的很感谢您帮我解决了一个很大的问题,我一直的时候也是这样子而且困惑了我很长的时间。请问一下当时您是 ...

从问题往上找,都有哪些原因可以影响这种出现这种结果,然后就各种尝试。。。
回复 支持 反对

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2020-11-2 11:07:23 | 显示全部楼层
谢谢分享,我在移植的时候发现emwin5.44的guibulid生成的代码与之前的版本生成的代码不一样,在int  GUI_TOUCH_X_MeasureX(void) 和LCDconf_FlexColor_Template.c处不一样,void LCD_X_Config(void) 函数不一样,  //GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66708, GUIDRV_FLEXCOLOR_M16C0B16);//ili9325  GUIDRV_FLEXCOLOR_F66708
  GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66709, GUIDRV_FLEXCOLOR_M16C0B16);//ili9341
回复 支持 反对

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2017-6-28
在线时间
24 小时
发表于 2020-11-28 23:53:29 来自手机 | 显示全部楼层
找了一晚上没找到原因!非常感谢!
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2023-2-12
在线时间
16 小时
发表于 2023-2-28 13:26:52 | 显示全部楼层

赞赞赞赞
赞赞赞赞
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 10:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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