stm8L 触摸库使用教程

2020-01-16来源: eefocus关键字:stm8L  触摸库  使用教程

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之类的其他芯片,到时候再一起交流。

关键字:stm8L  触摸库  使用教程 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic485846.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:stm8s_atomthread
下一篇:STM8S程序移植心得

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM8L052R8T6串口IAP在线升级相关总结(IAR编译环境)
;    0x82009070,0x82009074,0x82009078,0x8200907c,       };关于IAR编译器的链接文件及工程设置工程链接文件需要我们自己定义,所示我们可以从编译器默认的位置复制一份,用记事本打开并做出如图的更改。如果BootLoader的程序不超过4Kb,只需更改define block INTVEC with size = 0x100 { ro section .intvec };因为这是重新映射了中断向量的定义,默认0X80,不然编译会报错。然后重新在工程中设置使用刚才的链接文件如图:用的是STM8L052R8T6,因此工程中还需要
发表于 2020-01-08
STM8L052R8T6串口IAP在线升级相关总结(IAR编译环境)
STM8L152C6T6+IAP详解
STM8L152C6T6:Flash 32KB    RAM:2KBIDE:IAR for STM8  V3.10.2IAP原理非常简单,首先在bootloader程序中接收(串口、spi、I2C。。。)第二个程序的代码,并写入Flash中,然后跳转到第二个程序首地址,开始运行第二个程序,也就是说我们需要写两个程序:1.BootLoader 程序      2.用户APP一、STM8 中断向量表与中断我们知道,STM8程序下载都是从0x8000开始存放的(如果icf文件没改,一般不会改的),因为这是Flash的开始地址,那么程序下载到单片机到底下载了什么东西进去呢?没错
发表于 2020-01-07
STM8L152C6T6+IAP详解
STM8L RTC总结(2)初始化和配置
配置RTC时钟源配置RTC时钟源为LSE,1分频,即32768Hz。 1. 等待CLK_CRTCR:RTCSWBSY位复位,然后设置CLK_CRTCR值为0x10; 2. 等待CLK_ECKCR:LSERDY位置位,标识LSE时钟源已稳定可用; 3. 等待CLK_ECKCR:LSEON位置位,标识LSE时钟源已启用。解除RTC寄存器保护执行以下操作顺序: 1. 写0xCA到寄存器RTC_WPR; 2. 写0x53到寄存器RTC_WPR。写其它值到RTC_WPR,则自动激活RTC寄存器保护功能。配置日历功能配置步骤如下: 1. 进入初始化模式,置位RTC_ISR中INIT位;
发表于 2020-01-03
关于stm8l05RB的usart1串口复用A2,A3配置
#include "uart1.h"#include "stm8l15x.h"void Uart1_Init(void){        CLK_PeripheralClockConfig(CLK_Peripheral_USART1,ENABLE);                SYSCFG_REMAPDeInit();        SYSCFG_REMAPPinConfig
发表于 2019-12-24
STM8L自带bootloader使用教程
笔者使用的单片机型号是:STM8L151C8T6,有64kFlash本教程可能使用的文件下载地址:官方固件及指导手册:https://www.stmcu.com.cn/Index/search?search_keywords=UM0560百度网盘链接:https://pan.baidu.com/s/1XyBWJIhHsuwWgwGNuHaULA  提取码:9rgk CSDN下载链接(提供官方源地址,可免费下载):https://download.csdn.net/download/aaricyang/11199903有读者问软件复位可不可以,答案是不行,软件复位地址是0x8000,NRST引脚复位地址
发表于 2019-12-24
STM8L自带bootloader使用教程
STM8L051之蜂鸣器beep--库函数版
STM8L051的蜂鸣器引脚与swin调试口共用一个引脚,虽然使用了beep就不能使用调试功能(程序下载完成后,断开调试的swin,重启即可输出),但还是可以烧写程序到MCU中的。 (**注意**可以不用设置选项位即可使用beep功能)下面是库函数的代码:void BeepInit(){  // BEEP_LSClockToTIMConnectCmd(ENABLE);   CLK_PeripheralClockConfig(CLK_Peripheral_BEEP,ENABLE);  // BEEP_LSICalibrationConfig(38000);   
发表于 2019-12-24
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved