前两天想用F4的4.3寸TFT做一个虚拟键盘,但是在咱们论坛上找了找,并没有我想要的答案,于是打算自己做一个,先上图:
准确来说,这个原本是是我同学在别的网站上一个代码,只不过他这个是四个键,横屏的,我这是16键,竖屏的 http://www.51hei.com/bbs/dpj-154493-1.html 感谢这位老哥,没有这个老哥我可能要费更大的力气(如果有什么侵权的地方,请在下面留言,我马上删帖)
就我个人而言,我认为这个代码的重点部分是触点识别的过程,贴代码:
在判断有触点后,对X,Y方向进行扫描,所以设两个for循环,i,j的值均为4;其次是判断触点的坐标:tp_dev.x[0]<(x+j*115+115)&&tp_dev.x[0]>(x+j*115)&&tp_dev.y[0]<(y+i*100+100)&&tp_dev.y[0]>(y+i*100) ,我的键盘是460*400的,也就是说横向每单元的长度为115,纵向为100,所以该语句就是通过&&运算判断触点在那个方框内,然后 key=i*4+j+1;判断出键值。我个人认为也就是这个地方重要一点,其他的没什么好说的,还有,最开始这个代码是横屏的,因为之前没设置过横屏,所以遇到点小麻烦,设置横竖屏的代码就在LCD初始化函数的最后面。
其实就这个帖子而言,我讲的没什么技术含量,只是说把自己的想法跟大家分享一下,或者说给大家提供一点方便罢了 |