OpenEdv-开源电子网

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

ucgui触摸屏里GUI_TOUCH_AD_X的问题,望大家帮忙

[复制链接]

29

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
189
金钱
189
注册时间
2013-8-4
在线时间
0 小时
发表于 2013-12-16 16:36:36 | 显示全部楼层 |阅读模式

 移植ucGUI时,GUITouchConf.h文件里面的四个参数:
GUI_TOUCH_AD_LEFT、GUI_TOUCH_AD_RIGHT、GUI_TOUCH_AD_TOP、GUI_TOUCH_BOTTOM四个宏分别代表什么呢?
找了好多,说对应触摸屏的左上角和右下角AD值,但是什么叫左上什么叫右下呢?放的位置不一样,左上右下指的位置自然也不一样
有的说LEFT对应最小x坐标AD值,RIGHT---最大x坐标AD值,TOP--最大y坐标AD值,BOTTOM--最下y坐标AD值?这个说法正确吗?

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

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2013-12-16 22:15:41 | 显示全部楼层
“有的说LEFT对应最小x坐标AD值,RIGHT---最大x坐标AD值,TOP--最大y坐标AD值,BOTTOM--最下y坐标AD值”可以这样理解,实际测试下吧
站在巨人的肩膀上不断的前进。。。
回复 支持 反对

使用道具 举报

35

主题

227

帖子

3

精华

高级会员

Rank: 4

积分
956
金钱
956
注册时间
2014-3-5
在线时间
35 小时
发表于 2014-3-19 19:42:18 | 显示全部楼层
回复【2楼】xiaoyan:
---------------------------------
最近也遇到这个问题,请问怎样测出来啊?

和触摸校正后保存到24XX中的参数一样吗?
把看到的有意义的例子进行扩充,并将其切实的运用到自己的设计中。 应用确实不容易,水平是在不断的实践中完善和发展的。
回复 支持 反对

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2014-3-19 20:37:06 | 显示全部楼层
回复【3楼】爱博不专:
---------------------------------
自己用串口打印咯
站在巨人的肩膀上不断的前进。。。
回复 支持 反对

使用道具 举报

53

主题

608

帖子

0

精华

高级会员

Rank: 4

积分
890
金钱
890
注册时间
2013-3-29
在线时间
18 小时
发表于 2014-3-19 21:25:44 | 显示全部楼层
回复【4楼】xiaoyan:
---------------------------------
如何打印
学电子,学音乐!!
回复 支持 反对

使用道具 举报

35

主题

227

帖子

3

精华

高级会员

Rank: 4

积分
956
金钱
956
注册时间
2014-3-5
在线时间
35 小时
发表于 2014-3-19 21:36:48 | 显示全部楼层
回复【4楼】xiaoyan:
---------------------------------
回复【4楼】xiaoyan:
---------------------------------
int  GUI_TOUCH_X_MeasureX(void) {
  //return en_Point.X0;
  //u8 x=ADS_Read_XY(CMD_RDX);
  printf("x=%d\r\n",ADS_Read_XY(CMD_RDX));
  return(ADS_Read_XY(CMD_RDX));
}

int  GUI_TOUCH_X_MeasureY(void) {
  //return en_Point.Y0;
  printf("y=%d\r\n",ADS_Read_XY(CMD_RDY));
  return(ADS_Read_XY(CMD_RDY));
}
这样行吧? 没有按的时候X=0;y=2047;
我用的横屏显示,没有在LCD驱动中设置横屏,使用的

#define LCD_SWAP_XY 1
#define LCD_MIRROR_X 0
#define LCD_MIRROR_Y 1

上面的请问和下面的

#define GUI_TOUCH_SWAP_XY    0
#define GUI_TOUCH_MIRROR_X   0
#define GUI_TOUCH_MIRROR_Y   0

里面的_XY 意义一样吗?



串口输出后取了平均值

Xmin 119

Xmax 1939

Ymin 112

Ymax 1947

设置了个button 100*100大小 直接按照上边配置 按键和触摸对位置大小都不上,还要怎么设置啊?

还有,回复怎么上传不了图片,网速太慢,照片还专门压缩了下大小?
把看到的有意义的例子进行扩充,并将其切实的运用到自己的设计中。 应用确实不容易,水平是在不断的实践中完善和发展的。
回复 支持 反对

使用道具 举报

35

主题

227

帖子

3

精华

高级会员

Rank: 4

积分
956
金钱
956
注册时间
2014-3-5
在线时间
35 小时
发表于 2014-3-20 10:04:43 | 显示全部楼层
回复【5楼】XINSI:
---------------------------------
我已经调试好了。按照我上面的方式,再修改
#define GUI_TOUCH_AD_LEFT      119
#define GUI_TOUCH_AD_RIGHT      1939  
#define GUI_TOUCH_AD_TOP  112     
#define GUI_TOUCH_AD_BOTTOM 1947


*/   
#define GUI_TOUCH_SWAP_XY    1
#define GUI_TOUCH_MIRROR_X   0
#define GUI_TOUCH_MIRROR_Y   1

主程序里
void TaskLCD(void *pdata)
{
//int Key=0;
BUTTON_Handle bt;
// u8 tt=0;
// PROGBAR_Handle hProgBar;
GUI_Init(); //GUI初始化
// GUI_DispStringAt("rogress Bar",100,10);
// hProgBar=PROGBAR_Create(100,40,200,20,WM_CF_SHOW);
// PROGBAR_SetBarColor(hProgBar,0,GUI_GREEN);
// PROGBAR_SetBarColor(hProgBar,1,GUI_RED);
bt=BUTTON_Create(0,0,100,100,GUI_ID_OK,WM_CF_SHOW);
BUTTON_SetText(bt,"OK");

    while(1)
{

// GUI_SetBkColor(GUI_BLUE); //设置背景颜色
// GUI_SetColor(GUI_WHITE); //设置前景颜色,及字体和绘图的颜色
// GUI_Clear(); //按指定颜色清屏
// GUI_DrawCircle(100,100,50); //画圆
// GUI_DispStringAt("Made By LJF!",10,10); //显示字符
//
// PROGBAR_SetValue(hProgBar,tt);
// WM_Exec();
// tt++;
// if(tt>100) tt=0;

//Key=GUI_WaitKey();
//BUTTON_Delete(bt);
if(BUTTON_IsPressed(bt)) LED1=!LED1;
GUI_TOUCH_Exec();
GUI_Exec();

// OSTaskSuspend(LCD_TASK_Prio); //suspend but not delete
OSTimeDlyHMSM(0,0,0,30);  
}
 }
实际测试精度完全可以!
把看到的有意义的例子进行扩充,并将其切实的运用到自己的设计中。 应用确实不容易,水平是在不断的实践中完善和发展的。
回复 支持 反对

使用道具 举报

35

主题

227

帖子

3

精华

高级会员

Rank: 4

积分
956
金钱
956
注册时间
2014-3-5
在线时间
35 小时
发表于 2014-3-20 10:05:26 | 显示全部楼层
回复【5楼】XINSI:
---------------------------------
Mini板的
把看到的有意义的例子进行扩充,并将其切实的运用到自己的设计中。 应用确实不容易,水平是在不断的实践中完善和发展的。
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2014-2-20
在线时间
0 小时
发表于 2015-4-27 15:42:08 | 显示全部楼层
原子哥战舰版的坐标是:
#ifndef GUITOUCH_CONF_H
#define GUITOUCH_CONF_H


#define GUI_TOUCH_AD_LEFT  187 
#define GUI_TOUCH_AD_RIGHT  3965   
#define GUI_TOUCH_AD_TOP  128    
#define GUI_TOUCH_AD_BOTTOM 3950

#define GUI_TOUCH_SWAP_XY    0
#define GUI_TOUCH_MIRROR_X   0
#define GUI_TOUCH_MIRROR_Y   0

#endif /* GUITOUCH_CONF_H */
我也是看了别人试了之后能行,希望能帮到你
回复 支持 反对

使用道具 举报

20

主题

143

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2015-8-28
在线时间
108 小时
发表于 2017-1-10 14:30:58 | 显示全部楼层
xiaoyan 发表于 2014-3-19 20:37
回复【3楼】爱博不专:
---------------------------------
自己用串口打印咯

大神,请教下,产品量产了还要一个个打印测试再修改配置文件?
这样不实际啊
回复 支持 反对

使用道具 举报

20

主题

143

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2015-8-28
在线时间
108 小时
发表于 2017-1-10 15:03:23 | 显示全部楼层
爱博不专 发表于 2014-3-20 10:04
回复【5楼】XINSI:
---------------------------------
我已经调试好了。按照我上面的方式,再修改
#define ...

这四个参数又不是通用的吧?
下一个屏再打印输出,改配置文件?
回复 支持 反对

使用道具 举报

8

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
424
金钱
424
注册时间
2016-4-26
在线时间
84 小时
发表于 2018-11-7 08:33:28 | 显示全部楼层
标记一下,晚上学习
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 13:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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