本帖最后由 szkeinew 于 2020-4-12 19:44 编辑
你能用官方的触控调试软件可以通过测试,那触摸导出数据不会错,用T1库吧,我都是用T1库的。原因有多种,例如一,触按钮库是否选用SC92F8371的库,二,可能你没有在检查完成所有的键时重新启动扫描,这样是读取不了正确数据的。给你一个参考例程。
//按一下灯亮,再按一下灯灭例程
#define LED11 P00
#define LED12 P01
void main(){
unsignet long touch_key_value =0; //键值
bit touch_down_flag = 0; //触摸按下标志
P1CON = 0xff;
P1PH=0xcf;
P1=0xff;
P0CON =0xff;
P0PH =0xff;
P0 = 0xff;
TouchKeyInit();//初始化一次
while(1){
if(SOCAPI_TouchKeyStatus & 0x80){ //全扫描完成标志置1
SOCAPI_TouchKeyStatus &= 0x7f; //清除全扫描完成标志
touch_key_value = TouchKeyScan(); //读取建值
if(!touch_down_flag){
switch(touch_key_value){
case 0X00001000: //插入你想要的代码,如点亮LED1,低电平有效
LED11 = ~LED11;
touch_down_flag = 1; //按下触摸键标志
break;
case 0X00002000: //插入你想要的代码,如点亮LED2,低电平有效
LED12 = ~LED12;
touch_down_flag = 1; //按下触摸键标志
break;
}
}
if(touch_key_value == 0X00000000){
touch_down_flag = 0;
}
TouchKeyRestart(); //重新扫描一次
}
}
}
如果能解决了,请给我的参赛作品点赞,一共三个帖子。一,【赛元95F】——低功耗电容式接近触摸感应水龙头(一)。二,【赛元95F】——低功耗电容式接近触摸感应水龙头(二)。三【赛元95F】——低功耗电容式接近触摸感应水龙头(三)。谢谢!
或者你发代码上来。 |
看一下触摸库应用指南,了解几个触摸库的区别你就知道要选哪个了/