STM8 RC触摸库简单介绍

发布者:静静思索最新更新时间:2020-03-05 来源: eefocus关键字:STM8  RC触摸库  简单介绍 手机看文章 扫描二维码
随时随地手机看文章

触摸检测到按键按下调用流程 :TSL_Action -> TSL_SCKEY_P1_Acquisition() -> TSL_IO_Acquisition() -> TSL_SCKey_Process() -> TSL_SCKey_DetectedTreatment() ,其中TSL_Action ()和TSL_SCKey_Process() 还有其他的状态变化和处理。


TSL_IO_Acquisition() 函数为充放电时间检测函数,其中最重要的变量应该是充放电时间和检测到超过预设范围的次数,函数外部会用到,分别为FinalMeasurementValue和RejectionCounter。


void TSL_IO_SW_Burst_Wait_Vil(void)//只看IAR编译器的内容

{



#if defined(_COSMIC_)

......

#elif defined(_IAR_)

  __asm("ld a, S:AcquisitionBitMask"); //将AcquisitionBitMask放到a中

  __asm("ldw x, S:sTouchIO");   // 将sTouchIO放到x中  装载字(16位)

  __asm("incw x");                    //增加一个字

  // Loop = 1 + 1 + 2 + 2 + 2 cycles = 8 cycles

  __asm("WaitForVil:");

// To be sure that the loop last 8 cycles the first instruction must be a 1-byte instruction

// This is to be sure it is fully fetched in 1 cycle. The second instruction must be shorter than 4 bytes.

// If this not the case, the code must be aligned. 

  __asm("bcp a, (x)");  // 1 cycles 逻辑比较

  __asm("jreq ??EndWaitForVil");  //跳转到EndWaitForVil处

  __asm("ldw y, TIMACQ_CNTR"); // 2 cycles; hw counter also used for timeout ...

  __asm("cpw y, #0x0E00");    // 2 cycles; Timeout compare 字数值比较

  __asm("jrult ??WaitForVil");

  __asm("EndWaitForVil:");

#else //_RAISONANCE_

......

#endif

}


这个函数的大概意思是说检测对应管脚的电平,直到相同电平或者超时跳出,FinalMeasurementValue中装的应该就是TIMACQ_CNTR计数器的值(不知道是否正确,请大神指正)

关键字:STM8  RC触摸库  简单介绍 引用地址:STM8 RC触摸库简单介绍

上一篇:stm8l唤醒操作遇到问题
下一篇:STM8S触摸按键固件库详解

推荐阅读最新更新时间:2024-11-06 21:12

STM8学习笔记---按键KEY
用按键来控制LED灯的亮灭。按键接在PC4口,LED灯接在PD4口,LED灯由IO口高低电平控制亮灭,所以对于LED来说,IO口为输出口。按键是由外部电路来决定高低电平,假设按键未按下时默认为高电平,按键按下时为低电平。对于KEY来说,IO口为输入口,IO口要读取外部电平状态,根据电平状态来判断按键是否按下。 首先要设置IO口的状态。 端口方向寄存器, LED口要设置为输出模式, 所以PD4设置为1。按键KEY口要设置为输入模式,所以PC4设置为0。 端口控制寄存器,LED口需要输出高低电平,所以PD4口设置为1,推挽输出。 按键KEY口要读取外部电平,按键未按下时为高电平,按键按下时为低电平。所以PC4口设置为1,带
[单片机]
<font color='red'>STM8</font>学习笔记---按键KEY
基于STM8的车载抬头显示器设计与实现
  随着电子技术与计算机技术在汽车电子中的应用越来越多,传统的机械式仪表已经逐步被电子仪表所代替。电子仪表有体积小、重量轻等优点,可以有效地节约车内有限的空间。其以数字、文字或图形方式显示汽车信息时,显示直观、信息量大,可以根据不同需要修改不同的显示内容。 抬头显示器   HUD是英文Head Up Display的缩写,意为“抬头显示”或“平视显示器”。最初的应用就是在战斗机上,是由电子组件、显示组件、控制器以及高压电源等组成的综合电子显示设备,能将飞行参数、瞄准攻击、自检测等信息,以图像、字符的形式,通过光学部件投射到座舱正前方组合玻璃上的显示装置。由于使司机不必低头察看仪表盘,HUD可以大大缩短司机的读表时间。与传统的仪
[汽车电子]
基于<font color='red'>STM8</font>的车载抬头显示器设计与实现
STM8 74hc164串口输出扩为并口输出子程序
软件设计 /********************************************************************* 目 的: 建立74hc164操作库 目标系统: 基于STM8单片机 应用软件: Cosmic CxSTM8 *********************************************************************/ #include stm8s207s8.h #define HC164_OUT_DATA sbi(PC_DDR,3);sbi(PC_CR1,3);sbi(PC_CR2,3); //PB6 数据口 #define HC16
[单片机]
使用STM8驱动温湿度传感器DHT11的代码实现
最近希望恢复性学习一下 STM8 的相关知识,于是我选择了从头开始写温湿度传感器 DHT11 驱动代码的方式。其中遇到一些问题,也有一些收获,希望会帮助到遇到类似问题的朋友,也希望不足之处得到大家的指导。 首先介绍一下 DHT11 的必要知识 一 复位时序 以及 数据时序 下面是数据时序 此外,根据数据手册得知,一次通信需要的时间是 3 毫秒左右,这很重要,在后面的 BUG 分析环节会说到 二 贴上关键代码以及分析 // 复位 DHT11 voidDHT11_RST() { TIM4_CR1=0x00;// 关闭定时器 TIM4_CNTR=0;// 保证下次的第一个数据位的准确 DATA_
[单片机]
使用<font color='red'>STM8</font>驱动温湿度传感器DHT11的代码实现
STM8学习经验
第一节: 心情和时钟 我只是想和大大们交流一下,哪怕是对的或者是错的,大大们满足我的一点心愿吧。 唠叨了这么多,现在开始吧。 配置: stvd , cosmic 我学单片机开门三砖总是要砸的。 第一砖: 电源系统,这没什么好说的,只是它是stm8工作的基础总是要提一下 第二砖: 时钟系统,这等下再说。 第三砖: 复位系统,stm8只需要一只104电容从reset脚到地就可以了。 现在说说时钟系统,学习单片机无论8位的还是32位的,都要从时钟开始,下面是我一开始的时钟切换程序。 1 CLK_ECKR |=0X1; //开启外部时钟 2 while(!(
[单片机]
STM8切换为HSE时钟后UART乱码
  当使用HSI时钟时,串口发送正常,说明硬件电路没有问题。当切换为HSE时钟时,发现UART发送数据,上位机收到的是乱码。   问题原因: https://blog.csdn.net/qq_33255400/article/details/89741434
[单片机]
<font color='red'>STM8</font>切换为HSE时钟后UART乱码
STM8单片机学习总结04
所做的“功率LED板”,通过使用STM8完成手机、电脑通过蓝牙控制功率器件的有效动作,自己编写“代码”已经完全调通,其中也遇到不少问题,列举如下: --------------------------制作方面----------------------- 01)、首先就是MCU的选择; 考虑的主要要素为:价格低、资源够,后来又添加了“封装小”;实际中,但以“功能实现”而言,“51单片机”、“stm32”、“MSP430”、“AVR”全部可以满足需求,但综合考虑后,可能得仔细斟酌,新闻上面报道过现在已经有“小封装”、“功能足”的“51单片机”,价格在“1.0RMB”左右,但未具体查询过,后续有需求时,再更新; 02)、然后,“原
[单片机]
[STM8学习笔记] IAR工程搭建笔记
1. 打开IAR软件。 2.选择 - - 3. - - 会弹出一个对话框,根据你的MCU系列下拉选择MCU型号; 然后再根据你的编程语言选择编程语言。 选择好了之后,点击【OK】 - 选择你要保存的工程路径以及工程名。 4. 配置工程参数:选中工程名,右键选择【options...】 4.1 选择芯片型号:Device:STM8L051F3(这里是我使用的MCU型号) 4.2 编译时需要的头文件相对路径添加(这样后续工程路径变更,也不会影响头文件找不到的问题) $PROJ_DIR$ $PROJ_DIR$..user 4.3 输出可执行文件配置如下: 4.4 debug调试器配置如
[单片机]
[<font color='red'>STM8</font>学习笔记] IAR工程搭建笔记
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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