你好,
IAM使用PSCO4 CYC4014微控制器为我们的项目,
IAM使用下面提到的API来检测手指按压按钮,
1)
2)CAPENSESEIGCHECISWIDGETAC
tiVE()
下面是函数片段。
UIT32 32 CAPENSESEA校验传感器(UIT32传感器)
{
UIT8小部件;
UTIN 8去抖动;
UITN8 DeBunCEDATABLE;
UTIT8指纹阈值;
UIT8滞后现象;
*准备寻找反跳计数器索引*/
小部件= CAPENSESEIWIDGETIONT [传感器];
指纹阈值=CAPENSESEI指纹阈值[WIDGET ];
滞后=CAPENSESEA滞后[小部件];
DeBung=CAPENSESEBDUNCHUNG [WIDGET ];
DeBunCeCurth=小部件;
* * * *
如果(0U)!= CAPENSESEIGETBITE值(CAPENSESEA感测器掩模,传感器)
{
/*滞后减去*/
如果(CAPENSESEA传感器信号[传感器] &(指阈-滞后))
{
CAPENSESEY SETBIT值(CAPENSESEA传感器,传感器,0U);
********
CabSnSeBeDunCeCurter(DeunCeCurdie=)去抖动;
}
}
其他/ *关闭*
{
/*滞后加*
如果(CAPENSESEA传感器信号[传感器]和GT;=(指阈+滞后))
{
CopsSeNeDeBuncCeCurter [ DeBunCEDe]
*传感器活性,减量反跳计数器*
如果(CopsSeNeDeBuncCeCurter [DeBouCEDe]==0U)
{
CAPSESESEY SETBIT值(CAPENSESEA传感器,传感器,1U);
}
}
其他的
{
********
CabSnSeBeDunCeCurter(DeunCeCurdie=)去抖动;
}
}
返回((UIT32)(0U)!= CAPENSESEIGETBIT值(CAPENSESEA传感器,传感器)?1U:0U);
}
我无法检测手指按压,请让我知道问题在哪里。
谢谢和问候,
普拉莫德
以上来自于百度翻译
以下为原文
Hello,
Iam using PSCO4 CYC4014 Microcontroller for our project,
Iam using below mentioned API's for detecting if finger press on button,
1) CapSense_CheckIsSensorActive()
2) CapSense_CheckIsWidgetActive()
Below is function snippet.
uint32 CapSense_CheckIsSensorActive(uint32 sensor)
{
uint8 widget;
uint8 debounce;
uint8 debounceIndex;
uint8 fingerThreshold;
uint8 hysteresis;
/* Prepare to find debounce counter index */
widget = CapSense_widgetNumber[sensor];
fingerThreshold = CapSense_fingerThreshold[widget];
hysteresis = CapSense_hysteresis[widget];
debounce = CapSense_debounce[widget];
debounceIndex = widget;
/* Was on */
if (0u != CapSense_GetBitValue(CapSense_sensorOnMask, sensor))
{
/* Hysteresis minus */
if (CapSense_sensorSignal[sensor] < (fingerThreshold - hysteresis))
{
CapSense_SetBitValue(CapSense_sensorOnMask, sensor, 0u);
/* Sensor inactive - reset Debounce counter */
CapSense_debounceCounter[debounceIndex] = debounce;
}
}
else /* Was off */
{
/* Hysteresis plus */
if (CapSense_sensorSignal[sensor] >= (fingerThreshold + hysteresis))
{
CapSense_debounceCounter[debounceIndex]--;
/* Sensor active, decrement debounce counter */
if(CapSense_debounceCounter[debounceIndex] == 0u)
{
CapSense_SetBitValue(CapSense_sensorOnMask, sensor, 1u);
}
}
else
{
/* Sensor inactive - reset Debounce counter */
CapSense_debounceCounter[debounceIndex] = debounce;
}
}
return ((uint32)((0u != CapSense_GetBitValue(CapSense_sensorOnMask, sensor)) ? 1u : 0u));
}
Iam not able to detect the finger press,Please let me know where the issue is.
Thanks & Regards,
Pramod