历史上的今天
返回首页

历史上的今天

今天是:2025年03月05日(星期三)

正在发生

2020年03月05日 | STM8 RC触摸库简单介绍

2020-03-05 来源:eefocus

触摸检测到按键按下调用流程 :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计数器的值(不知道是否正确,请大神指正)

推荐阅读

史海拾趣

Clover Display Limited公司的发展小趣事

Clover Display Limited的创始团队最初是Kontoy Products Company Limited的成员,专注于电子板组装。随着技术的不断进步和市场需求的转变,团队意识到液晶显示技术的巨大潜力。于是,在1983年,他们决定成立一家专注于显示器研发与销售的新公司——Clover Display Limited。初期,公司面临着资金短缺、技术壁垒等多重挑战,但凭借着对技术的热情和市场的敏锐洞察力,他们逐步攻克难关,开始在液晶显示领域崭露头角。

Ericsson Power Modules公司的发展小趣事

在追求经济效益的同时,Ericsson Power Modules也注重环保和可持续发展。公司积极采用环保材料和绿色生产工艺,降低生产过程中的能耗和排放。此外,Ericsson Power Modules还积极参与环保公益活动,推动电子行业的绿色发展。这种环保意识和行动体现了Ericsson Power Modules对社会的责任感和对可持续发展的承诺。

ERP公司的发展小趣事

随着云计算和大数据技术的兴起,电子智链在2010年代初期开始了技术转型。公司投入大量资源研发基于云计算的ERP系统,并在2015年成功推出“云链”系列产品。这一产品迅速受到市场的欢迎,电子智链的客户群迅速扩大,不仅涵盖了中小型企业,还吸引了众多大型电子集团。同时,公司也在国际市场上积极扩张,与多家海外企业建立了合作关系。

APC (APC by Schneider Electric)公司的发展小趣事

进入21世纪,数据中心成为了企业信息化建设的核心。APC凭借其在UPS电源保护领域的深厚积累,稳步向数据中心市场拓展。通过并购和技术创新,APC不仅成为了首个收入达到十亿美元的以UPS为主营业务的公司,更在数据中心领域推出了多款创新产品,如InfraStruXure®架构。这一架构将电源、制冷、机架和管理无缝集成为一个模块化、可扩展的、预制式解决方案,为数据中心带来了前所未有的效率和可靠性提升。

Eaton公司的发展小趣事

在伊顿的发展历程中,合作伙伴起到了至关重要的作用。伊顿一直秉持开放合作的态度,与全球各地的企业和机构建立了广泛的合作关系。通过与合作伙伴的共同努力,伊顿不仅在技术和产品上取得了突破和创新,还实现了市场份额的快速增长和业务的全球化拓展。例如,伊顿与天合智慧达成的战略合作伙伴关系,就是双方共同推动分布式光伏产业发展的有力证明。这一合作不仅为双方带来了共赢的机会,也为全球能源结构的转型和升级做出了积极贡献。

以上五个故事涵盖了伊顿公司在电子行业中的发展历程、在中国市场的拓展、与绿色能源的结合、在商用车领域的发展以及与合作伙伴的共赢等多个方面。这些故事不仅展示了伊顿公司的实力和成就,也体现了其不断创新和追求卓越的精神。

Amprobe公司的发展小趣事

除了能源管理领域外,伊顿公司还在商用车领域取得了显著成就。自1985年首次将技术引进中国以来,伊顿的变速器产品已经进入中国市场30多年。通过与国内各个商用车生产企业的紧密合作,伊顿成功地将其先进的变速器技术应用于各种商用车型中,提高了车辆的燃油经济性和驾驶舒适性。特别是在物流行业,伊顿的变速器产品帮助车队降低了油耗成本,提高了运营效率。

问答坊 | AI 解惑

基于电流跟踪控制的高压钠灯电子镇流器研制

摘要:针对高压钠灯工作特点以及工作在高频状态下的缺陷,采用电流跟踪技术,设计了一种低频高压钠灯电子镇流器,并设计了可靠的逻辑控制启动电路。最后,给出实验结果。 关键词:高压钠灯;电子镇流器;闭环;电流跟踪   0    引 ...…

查看全部问答>

TSOP封装技术与SOP封装的区别?

在Protel中利用向导创建贴片元件时,你会发现SOP的管脚焊盘默认的是50milX100mil(毫英寸),而TSOP的参数书册给出的是18milX33mil,所以,我想问下是否TSOP(T-Type II)是SOP封装的浓缩型,尺寸有了压缩? 很多SDRAM(比如电脑上的内存条用的芯 ...…

查看全部问答>

keil注册问题

下了个keil3,但是怎么也注册不了,试了几个注册机。怀疑是注册步骤出错了,求详细注册步骤 感谢!!!…

查看全部问答>

刷卡支付功能的手机的相关技术

可以给我讲讲有关刷卡支付功能的手机的关键开发技术吗?…

查看全部问答>

有谁用uclinux进行过嵌入式开发,请帮下忙!

我用的是ylp2440的开发板,其cpu是s3c2410,买的时候带来的是linux2.6.12的内核,以及arm-linux-gcc的交叉编译工具。现在我想让这个板子跑uclinux的系统,那样怎么弄?是不是把uclinux移植到板子上,然后找个交叉编译工具,在linux的虚拟机上编程? ...…

查看全部问答>

请问哪款传感器可以检测水果乙烯浓度

请问哪款传感器可以用来搭配单片机,实现检测水果散发的乙烯浓度的功能,哪位做过的请推荐一款,价格最好在500元左右的,谢谢…

查看全部问答>

基于WINCE 5.0操作平台,在VC2005 开发MFC智能设备应用软件

在VS2005开发平台下,开发的软件直接通过Microsoft ActiveSync 同步软件下载到2440开发扳上可以运行(通过开发环境) ;单独生成Release版本的,脱离开发环境下载到开发板上就不能运行了.    而使用eVC开发的应用程序就不存在这个问题. &nbs ...…

查看全部问答>

问一个107+DP83848初始化的问题

请问一下调试过的朋友, STM32F107+DP83848做网络通讯, 在初始化的时候,是不是必须插网线?…

查看全部问答>