MINI2440 TD35 P35触摸屏不能使用? 让我们来把一线触控改四线触控
2022-10-09 来源:csdn
很多像我一样的嵌入式新手在使用mini2440学习触摸的时候估计都会遇到和我一样的问题,那就是无论自己怎么对照手册反复检查寄存器的配置,或者照着视频一个字母一个字母的敲最后的代码仍然不能产生中断,当然就没法让触摸屏工作起来。然后深深的被打击,大家不要气馁,不是你的问题,也不是老师的问题,老师录制触摸视频的时候使用的还是旧版的mini2440屏。如果你看到了这篇文章,也许你就满血复活了。
普通的2440屏和旧版的mini2440一般都是四线电阻触控的,但是友善之臂对新版的mini2440屏使用了一线触控技术。
所谓一线触控,就是通过使用STC单片机和AD芯片实现的;首先通过AD芯片连接触摸屏,采集触摸屏数据再发送给STC单片机,再通过STC单片机发送给2440(单片机一只引脚与2440一只引脚相连,所以称之为一线触控),比使用2440内部AD模块具有更高的精确性,也没有开源出来,所以我们不知道单片机与2440之间的通信协议,故无法使用。
新版mini2440默认使用的是一线触控,但并没有把四线触控的接口电路取消。判别是否是一线触控接口的方式就是查看屏幕背面是否有STC单片机和AD芯片;或者更好的做法是拆开你的屏幕背面可以看到更详细的信息
我的屏幕背面写的是:LCD-TD35 1405
然后在友善之臂去下载最新的mini2440光盘(http://www.arm9home.net/read.php?tid-11004.html),打开光盘便能看到你的屏幕所对应的电路图。
在光盘中看到:
打开LCD-TD35-1405.pdf可以看到电路中提供了两个触摸接口,一个与AD芯片相连,一个直接接到LCD2接口。
现在你用电路图对照你的屏幕硬件电路,会发现硬件连接的是R25、R26、R27、R28,而R29~R33上并没有电阻,所以触摸屏输出的信号LCD_TSXM、LCD_TSXP、LCD_TSYM、LCD_TSYP连接的是ADSX-、ADSX+、ADSY-、ADSY+。所以默认使用的是一线触控!(在我的屏幕硬件电路上甚至C42~C49 八个电容都没有)
使用P35屏的同学也是一样的道理,查看屏幕背面信息,下载光盘打开对应的pdf文档,对照pdf电路和硬件电路,查看电阻连接的情况就可以知道是不是一线触控。但就像上文中说的一样,如果屏幕上有stc单片机那么你的屏幕多半就是一线触控的了。更详细的P35的分析与修改请参考这篇文章:http://m.blog.csdn.net/blog/u010245383/45846403
了解了电路的连接情况,现在需要做的就是修改电路了。我的屏幕硬件电路上C42~C49 八个电容都没有,所以我们就不用管电容的情况,只修改电阻即可。最简单的方法就是把R25、R26、R27、R28四个电阻取下来焊在电路中R29、R30、R31、R33的位置上,但是这四个贴片电阻实在太小并且相聚太近,一般的人包括我在内是不能取下来又焊上去的。但仔细看电阻上面是不是有一个0数字呢?也就是说这是4颗阻值为0的电阻。更多阻值为0的贴片电阻的知识请自行百度,我在这里认为它们就是单纯的导线并便于调试而设计的。所以最后我的做法是:把R25、R26、R27、R28四个电阻取下来扔掉,使用导线把R29、R30、R31、R33的位置连接起来。
最后的效果是这样的:
就做了这么简单的处理,一线触控就改成了四线触控,无论是韦东山老师的触屏驱动还是国嵌的触屏驱动都能够完美运行。我和触摸屏终于能够愉快的玩耍了。。。
至于stc单片机和AD芯片,由于根本没有触摸信号输入AD芯片,所以AD芯片和stc除了浪费一点电以外并不影响触摸屏的使用,我就没有去管这两个东西。
祝大家好运!
参考文章:
http://m.blog.csdn.net/blog/u010245383/45846403
http://www.100ask.org/bbs/forum.php?mod=viewthread&tid=11461&highlight=P35