配套的文件资料会上传
1、查看触摸库说明文档,根据需要选取芯片(主要支持几个键):STMTouch Driver User Manual
一个channel为一个按钮,比如STM8L101F 就支持3个按钮,通过按钮扩充方式可以增加按钮,参照:
增加触摸传感按钮数量指南.pdf
2、下载对应的官方触摸库 STM8L_STMTouch_Lib_V1.1.0,将以下两个文件夹复制到自己的工程文件夹中
3、选择跟自己项目相近的工程打开,比如我要做1-4个按钮的触摸灯,就选了STM8L101K3_Ex01
打开:Projects——Examples——STM8L101K3_Ex01——EWSTM8(我用的是IAR)——Example.eww
4、打开后Make一下,一般是make成功0错误的。
5、打开对应的config文件,我这边是tsl_conf_stm8l.h文件,在这里面需要进行以下设置:
这个文件里还有很多参数,后面用到的时候再来配,现在不太清楚
6、打开 tsl_user.c ,触摸库的应用函数,进行修改,一步步往下看程序,我有加注释的习惯,回头看比较方便
以下是我初次读程序的方式,一步一步来分解代码:
7、user.C文件看完了,触摸库这些参数组成,大致有了个概念,总的来说是涉及到这几个准备步骤:
按需求确定脚位并且在conf文件里设置个数,在user对通道、bank、组、对象这些进行设置,最后得到user函数,在main或中断中对主函数进行调用,判断哪个按钮触发即可,具体还要大致过一遍例程的main:
、
main函数是看完了,继续往下看有哪些函数:
main.C查看完了,大致知道这个库的模式了,在action user函数里判断哪个按钮被按下从而执行想要的程序,而且触摸库是有个TIM4的心跳定时器,我们可以根据需要修改代码,变更时间或者替换定时器。 也可以按需要在定时器中断里执行一些过程代码。
加载程序进入板子,执行情况较好,灵敏度可以调节conf.H里面相关参数,可以摸索下。
这次快速的过了一遍,功能实现为主,没有深究,官方库的代码个别地方比较迷,有些重点部分没有进行应有的说明,体验一般。与一般厂家的专用触摸IC相比较,优势是扩展性好,大部分STM8都可以用,之后有时间我会试着移植该触摸方案到51之类的其他芯片,到时候再一起交流。
有不对的地方多多指出,欢迎加 STM8讨论微信群 ,一起讨论,楼主WX:xf386145824,备注:进STM8群