OpenEdv-开源电子网

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

移植ucGUI触屏至战舰求助攻

[复制链接]

54

主题

194

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
430
金钱
430
注册时间
2013-11-2
在线时间
0 小时
发表于 2014-7-21 17:26:43 | 显示全部楼层 |阅读模式
5金钱
在移植ucGUI至战舰的过程中,先是不能显示字符,最后各种渠道解决了,当进一步移植触屏的时候,出现了鼠标停在了左上角不动的情况,各种猜测,查资料,修改程序都不行,希望各位大神能给我提一些解决的思路,实在没辙了

最佳答案

查看完整内容[请看2#楼]

回复【8楼】周小样: --------------------------------- 主循环里调用 GUI_Exec();   定时器中断你调用 GUI_TOUCH_EXEC()
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

190

主题

401

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1289
金钱
1289
注册时间
2014-6-15
在线时间
143 小时
发表于 2014-7-21 17:26:44 | 显示全部楼层
回复【8楼】周小样:
---------------------------------
主循环里调用 GUI_Exec();   定时器中断你调用 GUI_TOUCH_EXEC()
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2014-7-21 17:56:53 | 显示全部楼层
查看别人移植好的demo,看看自己的触摸屏部分是哪里的问题。GUI_TOUCH_Exec();有没有调用?调用GUI_TOUCH_Exec()的定时器有没有初始化成功?
开往春天的手扶拖拉机
回复

使用道具 举报

54

主题

194

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
430
金钱
430
注册时间
2013-11-2
在线时间
0 小时
 楼主| 发表于 2014-7-21 19:44:27 | 显示全部楼层
回复【2楼】zuozhongkai:
---------------------------------
我没用定时器,就直接把他放在了while循环里面,一定要加定时器吗?大神
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2014-7-21 20:52:27 | 显示全部楼层
肯定要加定时器的啦,用中断来调用这个函数,一般5ms调用一次
开往春天的手扶拖拉机
回复

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-7-22 08:18:32 | 显示全部楼层
回复【3楼】周小样:
---------------------------------
直接放到那个滴答定时器的中断服务函数里面即可,我在emWin触摸移植的时候就是这么干的,单独给他一个定时器做扫描也是可以的,大概就是1秒钟扫描100次即可

1楼已经给你解析了
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

28

主题

1489

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1656
金钱
1656
注册时间
2013-7-24
在线时间
1 小时
发表于 2014-7-22 09:13:07 | 显示全部楼层
回复【4楼】zuozhongkai:
---------------------------------
回复【5楼】Badu_Space:
---------------------------------
不着重考虑时间精度(人体输入设备对时间不敏感),你俩为什么都提出区别对待循环内和定时器中断?
于20150522停用该账号:http://www.microstar.club
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2014-7-22 10:18:59 | 显示全部楼层
回复【6楼】styleno1:
---------------------------------
可以看一下GUI的那个DEMO的源码,如果放到while里面TOUH_Exec永远不能运行。他肯定是在移植触摸屏的时候放到main函数的while里面了,如果你不运行那个demo那么你可以直接放到while里面。
开往春天的手扶拖拉机
回复

使用道具 举报

54

主题

194

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
430
金钱
430
注册时间
2013-11-2
在线时间
0 小时
 楼主| 发表于 2014-7-22 10:19:37 | 显示全部楼层
回复【6楼】styleno1:
---------------------------------
加了一个定时器,也不行,这也是意料之中的事,家在while里面和定时器中断应该是一样的,触屏需不需要窗口管理器的支持啊?
回复

使用道具 举报

17

主题

293

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2012-12-26
在线时间
1 小时
发表于 2014-8-3 14:23:47 | 显示全部楼层
回复【3楼】周小样:
---------------------------------
必须要周期性调用GUI_TOUCH_EXEC() 这个函数完成了以下工作:
获取触摸点的状态以及触摸点的XY坐标(存储在_STATE为指针的全局变量中),该XY坐标是经过AD2XY转换后的像素坐标,直接可以用的
回复

使用道具 举报

17

主题

293

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2012-12-26
在线时间
1 小时
发表于 2014-8-3 14:24:57 | 显示全部楼层
回复【8楼】周小样:
---------------------------------
回复【8楼】周小样:
---------------------------------
窗口管理器一般是使用了控件后才需要的,触摸屏不需要该器件支持
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-1 10:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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