硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4315|回复: 6
收起左侧

[有问必答] emwin=ucoss-iii 触摸屏请教 ??

[复制链接]

692

主题

3576

回帖

5677

积分

论坛元老

积分
5677
发表于 2016-7-9 14:15:40 | 显示全部楼层 |阅读模式
在这个工程里面进行移植,V5-502a_移植步骤_STemWin5.28+uCOS-III+FatFS(含IAR和MDK)

我貌似没有找到 GUI_TOUCH_X_MeasureX 这个函数里面是如何调用的 啊 ??
V5-502a_移植步骤_STemWin5.28+uCOS-III+FatFS(含IAR和MDK).rar (32.71 MB, 下载次数: 73)


这个触摸屏的数据他是如何获得的啊 ??????
还有他进行 GUI初始化时,他选择的是哪个型号的控制器啊 ??
我在程序里面没有找到,
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117563
QQ
发表于 2016-7-9 16:57:40 | 显示全部楼层
bsp_touch.c文件里面调用的函数GUI_PID_StoreState
回复

使用道具 举报

692

主题

3576

回帖

5677

积分

论坛元老

积分
5677
 楼主| 发表于 2016-7-9 19:42:41 | 显示全部楼层

回 eric2013 的帖子

eric2013:
bsp_touch.c文件里面调用的函数GUI_PID_StoreState

你好,现在 lcd 屏已经有显示了,并且 触摸屏也有反应了,现在还有几个问题请教下?


GUI_PID_STATE PIDState;
1、我现在想把按下触摸屏的xy坐标使用串口输出或者 lcd屏显石出来,之前是使用 GUI_TOUCH_GetState(&ampIDState); 里面就有触摸屏实际按下的 xy坐标值了,
    现在貌似不行,始终都是0,而且 PIDState.Pressed 这个也始终都是为0 ,是不是我现在调用的函数不对啊 ??

333.png

按下触摸屏返回的xy始终都是0 ???????????


2、现在按下触摸屏,触摸位置会跟随变化,但是上次触摸过的地方不会自动消失,这个是需要认为的来清除还是有什么函数可以调用吗 ?现象如下图片:
touch.png

现在按下触摸屏,显示的光标位置也基本上算是准确的
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117563
QQ
发表于 2016-7-10 10:34:46 | 显示全部楼层
1.  可以的,参考这个例子,我简单的做了一个绘图功能,以此检测飞电用的,你看下,从V5网盘下载:
1.png

2.  是触摸残影的问题,多读两次触摸IC数值试试
回复

使用道具 举报

692

主题

3576

回帖

5677

积分

论坛元老

积分
5677
 楼主| 发表于 2016-7-10 17:29:05 | 显示全部楼层

回 eric2013 的帖子

eric2013:


1.  可以的,参考这个例子,我简单的做了一个绘图功能,以此检测飞电用的,你看下,从V5网盘下载:


.......

你好,屏幕残影的问题已经搞定了,现在还是关于这个触摸屏显示坐标的问题 还没有找到啊,

我下载了你们的这个历程,历程里面也没有找到调用 GUI_TOUCH_Exec();  这个函数,如果这个 GUI_TOUCH_Exec 函数没有调用,那么GUI_PID_GetState(&ampIDState); 调用这个函数也是无效的吧 ???

我的程序是按照你们的历程一模一样搞的,不过我的这个 TOUCH_Scan(); 是放在定时器里面调用的,每1ms调用一次,我的ucos-iii 系统时钟节拍是5ms,所以就没有放在系统定时器里面,除此之外,我也
没有找到跟你的程序有什么不同的地方,

    if (s_down == 0)
    {
     s_down = 1;

     /* 触摸按下事件 */
         
     State.x = TOUCH_TransX( g_tTP.usAdcNowX, g_tTP.usAdcNowY);
     State.y = TOUCH_TransY( g_tTP.usAdcNowX, g_tTP.usAdcNowY);
     State.Pressed = 1;
     GUI_PID_StoreState(&State);
          printf("\\r\\nState.Pressed  %d", State.Pressed );
         
          GUI_TOUCH_GetState(&ampIDState);                                       // 我在这个地方获取到的 Pressed  状态也是0,刚刚保存进去的,获取就不行啊 ????????????????????
          printf("\\r\\nPIDState.Pressed  %d", PIDState.Pressed );
         
         
     /* 用于触笔抬起事件,保存按下和移动的最后采样值 */
     s_usSaveAdcX = g_tTP.usAdcNowX;
     s_usSaveAdcY = g_tTP.usAdcNowY;

    }
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117563
QQ
发表于 2016-7-11 09:18:52 | 显示全部楼层

回 hpdell 的帖子

hpdell:你好,屏幕残影的问题已经搞定了,现在还是关于这个触摸屏显示坐标的问题 还没有找到啊,

我下载了你们的这个历程,历程里面也没有找到调用 GUI_TOUCH_Exec();  这个函数,如果这个 GUI_TOUCH_Exec 函数没有调用,那么GUI_PID_GetState(&ampIDState); 调用这个函 .. (2016-07-10 17:29) 
GUI_TOUCH_Exec();  和GUI_PID_GetState(&ampIDState);  二选一即可。
回复

使用道具 举报

692

主题

3576

回帖

5677

积分

论坛元老

积分
5677
 楼主| 发表于 2016-7-11 10:31:19 | 显示全部楼层

回 eric2013 的帖子

eric2013:GUI_TOUCH_Exec();  和GUI_PID_GetState(&ampIDState);  二选一即可。 (2016-07-11 09:18)
你好,不好意思啊,是我吧  GUI_TOUCH_GetState(&ampIDState);     这个函数看成了   GUI_PID_GetState(&ampIDState);   

惭愧惭愧呀,多谢多谢指点
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-14 15:23 , Processed in 0.043715 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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