打印

STM8 Touch Sensing Library

[复制链接]
4254|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
有风|  楼主 | 2009-9-23 17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
花了一个星期研究STM8 Touch Sensing Library,
还是没完全看明白其中的代码,
特别是MultiChannelKey中的IIR滤波,
终于发觉自己笨了.

是不是直接拿来用就可以了的?

组合按键能否可以这样用的?

    if (sSCKeyInfo[0].Setting.b.DETECTED) /* KEY 1 touched */
    {
      LED1_ON();
    }
   
    if (sSCKeyInfo[1].Setting.b.DETECTED) /* KEY 2 touched */
    {
      LED1_OFF();
    }

// key 1 & key2 同时按下
    if ((sSCKeyInfo[0].Setting.b.DETECTED) && (sSCKeyInfo[1].Setting.b.DETECTED)) /* KEY 2 touched */
    {
      LED1_ON();           // *****执行动作
    }
沙发
香水城| | 2009-9-23 22:52 | 只看该作者
ST网站上有应用笔记可供参考。

使用特权

评论回复
板凳
ddllxxrr| | 2009-9-24 09:10 | 只看该作者
楼主是对的,就那样用

使用特权

评论回复
地板
roalychen| | 2009-10-8 15:38 | 只看该作者
能不能介绍下那个SCKey  的IIR滤波器要怎么配置呢?
谢谢!

使用特权

评论回复
5
rooneywoo| | 2009-11-10 17:21 | 只看该作者
1# 有风


也遇到这个问题,

  2个或多个按键同时按下时只有一个按键有detected出现,后电ST 的FAE,说要个个按键在不同的group才能实现多个按键有detected flag。调试时直接改每个键的DESGroup值使其不同,问题解决,但找了半天不知在源程序中哪儿改比较合理???

   找到关系这个的程序:

// KeyToCheck and current key are in same group ?
    if ( sMCKeyInfo[KeyToCheck].DESGroup & DESGroupMask )
    {
      if ( sMCKeyInfo[KeyToCheck].Setting.b.LOCKED )
      {
        goto ExitToIdle;
      }
    }

   group相同或LOCKED为1都不会测下一个按键, 是否可以在哪里设置LOCKED 为enable也行。希高人指点!

使用特权

评论回复
6
roalychen| | 2009-11-11 08:26 | 只看该作者
触摸库初始化TSL_Init();完成后

再对KEY的相关变量做个初始化

  /* All keys are implemented and enabled */

  for (i = 0; i < NUMBER_OF_SINGLE_CHANNEL_KEYS; i++)
  {
    sSCKeyInfo[i].Setting.b.IMPLEMENTED = 1;
    sSCKeyInfo[i].Setting.b.ENABLED = 1;
    sSCKeyInfo[i].DESGroup = 0x00; /* Put 0x00 to disable the DES on these pins */
  }

sSCKeyInfo[i].DESGroup = 0x00;每个键的DESGroup弄成不同或者都弄成0就不会只出一个键了

不知道大家做触摸都做哪些实验?
我做连水实验(就是一滩水把几个键都盖住)的时候, 按键没有反应,不知道各位有什么高招?

使用特权

评论回复
7
dkblue| | 2013-6-19 11:30 | 只看该作者
LZ 这问题解决了吗
我最近也遇到这问题
偶尔可以识别 2 个按键
经常 是 2 个按键都被屏蔽掉

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

1319

帖子

0

粉丝