marrylilili 发表于 2012-2-20 14:30:20

RTGUI触摸移植出问题了~

大家好,偶新手,在移植RTGUI(RT-Thread 1.0)时候出现了一些问题。显示没有问题了。但是在触摸及事件处理函数这块折腾了很久都没有出来,网上的资料太少了,只有个Radio可以借鉴的,恳请大家帮忙想想办法,先谢谢大家了!!^_^
问题如下:
1、移植RTGUI触摸的步骤大概是怎么样的。
2、在移植触摸时哪些地方是容易出现问题的,需要注意的地方。
3、如何验证我的触摸已经移植成功了。

我的QQ是925839018,如果方便的话,也可以加我。等移植成功了,我会做个教程奉献给咱们论坛,让新手们少走点弯路,希望国产的RT-Thread系统能走的更远~

tiancaigao7 发表于 2012-2-20 15:59:13

触摸部分主要根据你的IC来确定,如果碰巧和RTT使用的IC那就几乎不需要什么移植,仅仅是配置一下硬件的引脚,比如外部中断引脚等等。

nibia 发表于 2012-2-20 19:30:41

1、移植RTGUI触摸的步骤大概是怎么样的。

--rtt其实有很多例程,一个是radio的代码可以参考,另外一个就是radio 的svn上有很多example可以参考, 例程里有gui的历程可以看看。

2、在移植触摸时哪些地方是容易出现问题的,需要注意的地方。

--在rtt工程里有个touch。c 你看那个按照他的框架修改就行了,比较简单。
3、如何验证我的触摸已经移植成功了。
--在shell中list_device看能不能看到触摸屏。 触摸屏幕时候,串口打印出正确坐标数据就正确了。

marrylilili 发表于 2012-2-21 09:49:30

回复【2楼】nibia
-----------------------------------------------------------------------

谢谢你的回复!!
    我在进行touch移植的时候,和touch.c的方式不太一样。touch.c里用的是外部中断线的方式启动timer,从而将所得到的坐标值通过 rtgui_server_post_event(&emouse.parent, sizeof(struct rtgui_event_mouse))这句话传递给了服务端。然而我没有用外部中断线,而是通过一个线程对触摸值进行监控,一但有触摸值,就会启动timer。并且通过调试窗口可以看到,如果有触摸按下,则会看到emouse.x 和emouse.y的坐标值发生变化。但是只能在每次初始化的时候进去一次button的事件处理函数,而不是有触摸按下button就会进入button的事件处理函数。
    这样能够说明我的触摸移植是正确的吗?

xuzhenglim 发表于 2012-2-21 10:52:45

你这种方式不行。- -会冲突的,因为你本来线程就是在监控了。
你还如直接线程一直采集,然后用算法判断有没有输入点。这反而实在,也可以当滤波,准确度取决于你的线程数,线程优先级,线程监控触摸频率以及触摸判断算法。。但是做好了, 一般会很准, 不会出现上述情况。

aozima 发表于 2012-2-21 11:40:13

touch.c中有一个touch_t(x,y) 直接输入按钮的坐标即可按扭了。
剩下的就是调硬件的问题。
页: [1]
查看完整版本: RTGUI触摸移植出问题了~