硬汉嵌入式论坛

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

[emWin] 触摸屏扫描放在emwin定时器中断有时反应不灵敏

[复制链接]

3

主题

10

回帖

19

积分

新手上路

积分
19
发表于 2017-3-10 11:26:35 | 显示全部楼层 |阅读模式
按照教程将触摸屏的扫描程序放在emwin的定时器中断中,定时周期是1ms.当程序中只有这一个1ms定时器时,触摸正常。当在新创建窗口时给窗口添加一个100ms的定时器用来刷新界面,这时触摸就不灵敏了,点击屏幕几秒钟才能反应过来,然后把100ms定时器改为500ms,触摸就可以正常使用了。这是什么情况?
回复

使用道具 举报

3

主题

10

回帖

19

积分

新手上路

积分
19
 楼主| 发表于 2017-3-10 12:01:32 | 显示全部楼层
如果不重绘界面触摸就没有问题,难道我重绘界面耗时太长,WM_PAINT 该有1ms
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117617
QQ
发表于 2017-3-10 14:21:32 | 显示全部楼层
估计是你的触摸部分的底层实现做的不是很好,另外可以采用我们新版emWin教程中推荐的这种方式试试看
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=19834
1.png
回复

使用道具 举报

3

主题

10

回帖

19

积分

新手上路

积分
19
 楼主| 发表于 2017-3-13 14:56:03 | 显示全部楼层
程序的扫描检测是用您推荐的方式做的,但是还是不行。问题是暂时解决了,我想问题是不是出现在不能频繁的无效化窗口并进入WM_PAINT:因为只要我不10ms无效化一次窗口,触摸就没有问题
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117617
QQ
发表于 2017-3-13 15:07:47 | 显示全部楼层

回 小小鱼 的帖子

小小鱼:程序的扫描检测是用您推荐的方式做的,但是还是不行。问题是暂时解决了,我想问题是不是出现在不能频繁的无效化窗口并进入WM_PAINT:因为只要我不10ms无效化一次窗口,触摸就没有问题


 (2017-03-13 14:56) 
窗口的区域大吗,是不是没有操作过来,你可以降低下无效化频率,另外不要整个窗口无效化,可以设置部分区域无效化。
回复

使用道具 举报

3

主题

10

回帖

19

积分

新手上路

积分
19
 楼主| 发表于 2017-3-13 15:47:11 | 显示全部楼层
800*480的屏
降低了就没问题,大概500ms无效化一次就没问题了。比如说WM_InvalidateWindow(pMsg->hWin)是无效化整个窗口,那怎么实现局部无效化
谢谢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117617
QQ
发表于 2017-3-13 15:56:04 | 显示全部楼层

回 小小鱼 的帖子

小小鱼:800*480的屏
降低了就没问题,大概500ms无效化一次就没问题了。比如说WM_InvalidateWindow(pMsg->hWin)是无效化整个窗口,那怎么实现局部无效化
谢谢
 (2017-03-13 15:47) 
使用函数
WM_ValidateRect()
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-18 11:50 , Processed in 0.043856 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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