本帖最后由 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】——低功耗电容式接近触摸感应水龙头(三)。谢谢!
或者你发代码上来。
|