【原创】基于Kinetis的触摸感应软件库(TSS)介绍
0赞趁着昨天的余热尚存,今天继续意犹未尽的飞思卡尔TSI模块的应用,哈哈。不过为了打出好铁,今天就多些技术含量的东西,说实话,看了人家官方库的代码再回过头来瞅了瞅自己前几天写的TSI驱动,一种无地自容、自惭形秽的感觉油然而生,有一种放弃继续代码的冲动,咳咳,当然放弃coding我目前还做不到,只不过有那么一会儿的自卑,幸亏我还较乐观,哈哈,毕竟官方的经典库是一代最优秀的工程师开发出来的,又一代人在维护,又有一大群人在不断应用和改进,所以差距不是一星半点,这个是正常的,嘿嘿。
好了,打完“预防针”之后,就废话不多说了,开始本篇的正题了。首先还是介绍下飞思卡尔的TSS库(Touch Sensing Software Lib),TSS库是飞思卡尔为了支持简化人机界面交互而开发和维护的库,尤其是在键盘(keypad),旋转(rotaries)和滑动(sliders)等一些常用的用户界面方面做了优化,库的内容包括了智能自动校准机制(可防止环境问题),噪声抑制算法,优化的缓冲结构(支持任何电极排列)和提供电极表征(辅以完整的演示和应用实例)的PC GUI应用(很NB吧,赞~),完全兼容CodeWarrior集成开发环境(当然IAR也可以用,所以跟我一样用IAR的也不用担心,哈哈),而且在不断更新和改进,目前已经更新到v2.5版本,且随着Kinetis的推出,也随之发展了相应的TSS库,即FSLTSSLIB_2_5_KINETIS,下图为TSS库的架构图:
1.下面开始一步一步的介绍下,首先到官方下载该软件库,在官方直接搜索关键词FSLTSSLIB_2_5_KINETIS, 如下图所示,点击下载即可(需要登录才可以下载,不过是免费的):
2.下载之后直接装上即可,注意这个软件有点流氓了,呵呵,不能改变安装位置,直接安装在默认位置即C:\Program Files\Freescale\Freescale TSS 2.5,内容如下:
3.打开example中的TWR系统的IAR例程,针对tower系统板上的电容按键编写的例程,编程框架如下图所示,默认是在ram里调试且采用J-Link,不过为了方便可以改成自带的OSJTAG下进去即可(注意如果改成OSJTAG需要勾选use flashloarder),程序运行之后可以玩一玩,触摸即亮,异常稳定(咳咳,俺的跟它没法比,哎)。
4.其实看完例程再通过doc文件夹下的说明来即可简单的建立起自己的应用,不过有一点需要说明的是,飞思卡尔为了简化对TSS库的应用,即通过一个官方提供的一个小软件接口实现图形化配置,然后生成TSS_SystermSetup.h添加到相应工程里即可,如上图project文件夹(当然相应的库文件如上图还是需要添加的,不过基本不用修改),该小软件即tools文件夹下的System Setup GUI.exe文件,我这里就简单的截一副设置图(针对tower板),让大家有个认识,其实这都是可以从说明文档里找到的,下面上图:
呵呵,篇幅有限,TSS软件库就介绍这些,我只是带着大家常常鲜,想要深入应用了解的,可以看说明文档一步一步的来,感觉不是很难,另外也可以到官网继续找些相关资料学习学习,我以后有了深入的应用也会开源出来给大家交流。
有点小期待把这个库真正应用到实际项目中一定很炫的,哈哈,不过肯定有高手早已经在用了,在这里羡慕一个,哈哈,对于出手来说,俺领进门,修行全在个人了,加油,哈哈。未完待续~