[技术问答] 请教如何调试SC92F8371触控功能

[复制链接]
 楼主| wuzengxian 发表于 2020-4-12 16:42 | 显示全部楼层 |阅读模式
大家好,我是新手,刚开始调试C92F8371的触控功能,调了两天了,没有眉目,我是在弹簧上加块塑料板来调试的,做四个按键,由于占用了烧录口,所以现在选的是两个按键,我应该用T1库还是T2库呢,touchkey tool我选弹簧按键还是隔高按键呢,我静态码烧进去,在电脑上是可以生成那个配置文件的,但是导入我的程序中,怎么都不好用,我是参照的1010的代码。用的TK12,TK13口,按说按键判断应该是0X00001000,0X00002000,吧,反正是LED灯怎么都不亮,STARTUP.A51是不是要改两个数据呢,分别改多少呢,我改为0x100,0x80,还是没反应//*************************************************************************************************
请高人指点
我的qq是42157411

评论

你好,可以联系FAE具体看一下,赛元MCU技术支持交流QQ:2131132845  发表于 2020-4-15 14:21
knk
看一下触摸库应用指南,了解几个触摸库的区别你就知道要选哪个了/  发表于 2020-4-12 21:23
szkeinew 发表于 2020-4-12 17:57 | 显示全部楼层
本帖最后由 szkeinew 于 2020-4-12 19:44 编辑

你能用官方的触控调试软件可以通过测试,那触摸导出数据不会错,用T1库吧,我都是用T1库的。原因有多种,例如一,触按钮库是否选用SC92F8371的库,二,可能你没有在检查完成所有的键时重新启动扫描,这样是读取不了正确数据的。给你一个参考例程。
  1. //按一下灯亮,再按一下灯灭例程
  2. #define  LED11 P00
  3. #define  LED12 P01
  4. void main(){
  5.      unsignet long touch_key_value =0;        //键值
  6.          bit touch_down_flag = 0; //触摸按下标志
  7.     P1CON  = 0xff;
  8.     P1PH=0xcf;
  9.     P1=0xff;
  10.   
  11.     P0CON =0xff;
  12.     P0PH =0xff;
  13.     P0  = 0xff;
  14.      TouchKeyInit();//初始化一次
  15.      while(1){
  16.                 if(SOCAPI_TouchKeyStatus & 0x80){  //全扫描完成标志置1
  17.                           SOCAPI_TouchKeyStatus &= 0x7f; //清除全扫描完成标志
  18.                                 touch_key_value = TouchKeyScan(); //读取建值
  19.                                 if(!touch_down_flag){
  20.                                         switch(touch_key_value){
  21.                                                 case 0X00001000:  //插入你想要的代码,如点亮LED1,低电平有效
  22.                                                                                   LED11 = ~LED11;
  23.                                                                                   touch_down_flag = 1; //按下触摸键标志
  24.                                                                                   break;
  25.                                                 case 0X00002000:  //插入你想要的代码,如点亮LED2,低电平有效
  26.                                                                                   LED12 = ~LED12;
  27.                                                                                   touch_down_flag = 1; //按下触摸键标志
  28.                                                                                   break;
  29.                                         }
  30.                                 }
  31.                                 if(touch_key_value == 0X00000000){
  32.                                          touch_down_flag = 0;
  33.                                 }
  34.                            TouchKeyRestart(); //重新扫描一次
  35.                 }
  36.      }
  37. }


如果能解决了,请给我的参赛作品点赞,一共三个帖子。一,【赛元95F】——低功耗电容式接近触摸感应水龙头(一)。二,【赛元95F】——低功耗电容式接近触摸感应水龙头(二)。三【赛元95F】——低功耗电容式接近触摸感应水龙头(三)。谢谢!
    或者你发代码上来。
rgjinxuan 发表于 2020-4-13 09:29 | 显示全部楼层
有两种触摸库  一个是高灵敏度  一个是高可靠性 这点赛元讲的不好 我一开始也搞糊涂   如果用调试脚  只能烧录好  看结果再调试   所以赛元讲5 分钟搞精通触摸那是除牛X的    5 天能把赛元的搞清楚  也是高手了  不过中国人就是喜欢吹牛X
rgjinxuan 发表于 2020-4-13 09:33 | 显示全部楼层
讲老实话   赛元的使用 比HOLTEK  比亚迪 芯帮的要多花一点时间  文档写的不好  不过赛元的FAE  水平还是很高的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部