在线时间613 小时
UID252169
注册时间2010-12-5
NXP金币0
TA的每日心情 | 开心 2019-2-14 16:49 |
---|
签到天数: 296 天 连续签到: 1 天 [LV.8]以坛为家I
金牌会员
 
- 积分
- 4473
- 最后登录
- 2020-4-14
|
看KL25资料有一个触摸Key在上边,连接在PTB16,17上,这样就可以做按键实验了。
同样将MKL_PIT.c和MKL_PIT.h加到主函数中,在main中加入TSI_Init();触摸初始化和触摸中断声明:
NVIC_EnableIRQ(TSI0_IRQn);
NVIC_SetPriority(TSI0_IRQn,3);
之后在循环中加入源模块程序的LED控制函数:
TSI_Slider_LED();
打开此函数较为复杂,将其改为:
void TSI_Slider_LED(void){
int i;
if(end_flag){
AbsolutePercentegePosition,AbsoluteDistancePosition);
end_flag=0;
if(keyStat>9){
keyStat=0;
if((gu16Delta[0]>gu16Threshold[0])||(gu16Delta[1]>gu16Threshold[1])||(gu16Delta[2]>gu16Threshold[2])){
GPIO_TOGGLE(led,ledPin);
/*}else{
SliderPercentegePosition[0] = NO_TOUCH;
SliderPercentegePosition[1] = NO_TOUCH;
SliderPercentegePosition[2] = NO_TOUCH;
SliderDistancePosition[0] = NO_TOUCH;
SliderDistancePosition[1] = NO_TOUCH;
SliderDistancePosition[2] = NO_TOUCH;
AbsolutePercentegePosition = NO_TOUCH;
AbsoluteDistancePosition = NO_TOUCH;
}*/
}else{keyStat++;}
}
}
程序中/*... ...*/可以不要,不影响程序运行。
结果是触摸一下,红色的LED亮,再触摸灭。由于没有采用延时处理,有时LED等亮灭的有点摸不着头脑。照片附上:
|
-
触摸红色LED灭
-
触摸红色LED亮
|