硬汉嵌入式论坛

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

[emWin] emwin532 button按下只能触发按下事件,没有释放事件??

[复制链接]

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 2018-10-4 12:00:54 | 显示全部楼层 |阅读模式
button按下松开只有按下事件(WM_NOTIFICATION_CLICKED),和移除区域事件(WM_NOTIFICATION_MOVED_OUT),而没有(WM_NOTIFICATION_RELEASED)
GUI_TOUCH_GetState(&TouchState);  // Get the touch position in pixel
xPhys = GUI_TOUCH_GetxPhys();     // Get the A/D mesurement result in x
yPhys = GUI_TOUCH_GetyPhys();     // Get the A/D mesurement result in y
通过这三个接口测试发现,按下时TouchState.x,TouchState.y与xPhys ,yPhys 是对应得上的。但是松开之后,xPhys ,yPhys 变为零,此为物理值为0正常,但是TouchState.x也会变为零应该为异常,导致触发WM_NOTIFICATION_MOVED_OUT事件。TouchState.y值保持原值没变
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2018-10-4 12:01:54 | 显示全部楼层
5.22的版本是正常的,驱动实现方式一样
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2018-10-4 12:11:46 | 显示全部楼层
先不管emWin,看你的触摸原始数据。方便的话,打印触摸释放否后的原始数据和释放前的数据。
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2018-10-4 15:40:08 | 显示全部楼层
谢谢你的回答,xPhys = GUI_TOUCH_GetxPhys();     // Get the A/D mesurement result in x
yPhys = GUI_TOUCH_GetyPhys();     // Get the A/D mesurement result in y这个值就是触摸原始数据,我在驱动里面也打印了,一样的
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2018-10-4 15:43:32 | 显示全部楼层
jd404647184 发表于 2018-10-4 15:40
谢谢你的回答,xPhys = GUI_TOUCH_GetxPhys();     // Get the A/D mesurement result in x
yPhys = GUI_T ...

方便的话,打印触摸释放否后的原始数据和释放前的数据。

发到论坛看下
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2018-10-4 16:06:21 | 显示全部楼层
最后绿色的为驱动显示出来的数值

9bb1a6537a56e4040cda0258a4540db4.mp4

2.09 MB, 下载次数: 22

回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2018-10-4 16:07:45 | 显示全部楼层
@eric2013    你下载一下视频,操作对应的数据。我使用的是GUI_TOUCH_X_MeasureX  GUI_TOUCH_X_MeasureY函数
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115778
QQ
发表于 2018-10-5 01:38:03 | 显示全部楼层
jd404647184 发表于 2018-10-4 16:07
@eric2013    你下载一下视频,操作对应的数据。我使用的是GUI_TOUCH_X_MeasureX  GUI_TOUCH_X_MeasureY函 ...

的确是,Y轴有问题。

1、有没有测试过5.40版本,可以试试。

2、另外我们现在的emWin触摸已经没有再使用GUI_TOUCH_X的方案了,是采用的函数GUI_PID_StoreState,直接传递物理坐标值给它就行,你也可以试试这种方法。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-17 15:25 , Processed in 0.567989 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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