主题中讨论的其他器件:EVM430-CAPMINI
尊敬的 TI 团队:
计划在同一触控传感器上添加多功能触控:
使用 EVM430-CAPMINI 开发板、 是否有办法识别单个传感器按钮上的短按(~1sec)和长按(~10sec)?
此致、
Walter
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的 TI 团队:
计划在同一触控传感器上添加多功能触控:
使用 EVM430-CAPMINI 开发板、 是否有办法识别单个传感器按钮上的短按(~1sec)和长按(~10sec)?
此致、
Walter
您好、Ling、
我们需要的行为是:
正常短触- LED 亮起
5秒长的触摸、释放-执行某些操作
10秒长按、释放-重置设备
此致、
首先、如果我在下面这样做、短触不起作用:
if (pButton -> bSensorPrevTouch = 1)
{
if (long_Press_Cntr <= 33)
{
}
}
2.如果是5秒,则切换一次;如果 是10秒,则切换两次。 看起来还可以、如何在这两者之间睡觉?
if (long_Press_Cntr >= 151)
{
if (long_Press_Cntr < 303)
{
LED4_ON;//LED4
}
}
if (long_Press_Cntr >= 303)
{
LED4_ON;//LED4
//睡眠
LED4_OFF;//LED4
//睡眠
LED4_ON;//LED4
LED4_OFF;//LED4
}
}
}
------
无效
ButtonEventHandler (TSENSOR *pButton)
{
已触摸 if (pButton -> bSensorTouch)//按钮
{
if (pButton -> bSensorPrevTouch = 0)
{
TA1CTL = tassel_SMCLK | MC__UP | TACLR;// SMCLK、向上计数模式、清除 TAR
P2SEL0 |= BIT2;// P2.2选项选择
/* Aztech 修改*/
long_Press_Cntr = 0;
/* Aztech 修改结束*/
}
/* Aztech 修改*/
其他
{
long_Press_Cntr ++;
}
/* Aztech 修改结束*/
/* Aztech 修改*/
//报告5秒/10秒/15秒长触控
//将起作用,但不是5秒触摸删除,5秒触摸删除
/* if (long_Press_Cntr == 151 || long_Press_Cntr == 303 || long_Press_Cntr == 453)
{
LED4_OFF;//LED4
LED4_ON;//LED4
}
*
/* Aztech 修改*/
}
else //未触摸按钮。 清除计时器并关闭 LED
{
TA1CTL = 0;
/*Aztech 修改*/
#if 0
P2SEL0 &=~BIT2;
P2OUT &=~(BIT2 + BIT3 + BIT4 + BIT4 + BIT4 + BIT6);
其他
P1OUT &=~(BIT0 + BIT1 + BIT2 + BIT3);
//if bPrevTouch = true 且计数器<= 33、报告短触
if (pButton -> bSensorPrevTouch = 1)
{
if (long_Press_Cntr <= 33)
{
//不在这里
Now_Key_Value = 0;
if (pButton ->pCycle [0]-> pElements[0]-> bTouch = 1)
{
Now_Key_Value |= Key1;
LED1_ON;// LED1
}
其他
LED1_OFF;
if (pButton->pCycle [1]->pElements[0])->bTouch =1)
{
Now_Key_Value |= Key2;
LED2_ON;// LED2
}
其他
LED2_OFF;
if (pButton->pCycle [2]->pElements[0])->bTouch = 1)
{
Now_Key_Value |= Key3;
LED3_ON;//LED3
}
其他
LED3_OFF;
}
if (long_Press_Cntr >= 151)
{
if (long_Press_Cntr < 303)
{
LED4_ON;//LED4
}
}
if (long_Press_Cntr >= 303)
{
LED4_ON;//LED4
LED4_OFF;//LED4
LED4_ON;//LED4
LED4_OFF;//LED4
}
}
#endif
/* Aztech 修改结束*/
}