4.16日学习笔记之触摸按键

SC系列芯片的触摸按键,每个通道对应每个值,如TK0对应bit0,TK5对应bit5,即哪一个按键按下时,哪一个通道被置1;因此在后期处理按键值需要找到是哪一个按键被按下,再将键值统一转换成0x01,0x02,0x04。
方法如下:
先确定总的触摸通道数,for循环进入,每次对触摸按键返回的键值进行右移,若产生进位信号,即CY=1;令此时的真实键值=触摸按键返回的键值<<POS,再对开启的触摸通道数进行右移,若产生进位信号,即CY=1,POS++。

  Valuetemp=CTKGetValue();
  for(i=0;i++;i<TKNumMax)
  {
  Valuetemp<<1;
  if(CY!=0)
  {
  Value=(uchar)1<<POS;
  }
  TKNum<<1;
  if(CY!=0)
  {
  POS++;
  }
  }

BYD系列芯片的触摸按键,在初始化过程中,会对开启的触摸按键进行前移,即SNS00=7;(触摸按键扫描过后,会将SNS7的键值赋值给SNS00),bit0对应SNS00,bit5对应SNS05。
Value=CTKGetValue();

posted @ 2025-04-16 22:05  小智001  阅读(3)  评论(0)    收藏  举报