TI中文支持网
TI专业的中文技术问题咨询交流网站

MSPFR2633 的LTA值

MAP_CAPT_registerCallback(
&PRX00,
&Demo_proximityGroupEventHandler1
);

注册用户的回调函数之后:

void Demo_proximityGroupEventHandler1(tSensor* pSensor)
{
uint16_t rawCount_l=0;
uint16_t LTA_addr_l=0;
uint16_t LTA_l=0;
uint16_t delta_l=0;
static uint8_t i=0;
if (pSensor->bSensorNegativeTouch)
{
CAPT_calibrateSensor(pSensor);
return;
}

rawCount_l = *(uint16_t *)(DEMO_LEFT_ELEMENT.pRawCount);
LTA_addr_l = ((uint16_t)&(DEMO_LEFT_ELEMENT.LTA));
LTA_l = min_value(rawCount_l,LTA_addr_l);
printf_msp("1:LTA:%d count:%d,delta:%d\r\n",LTA_addr_l,rawCount_l,LTA_l);

}

发现LTA的值很大,与COUNT值相差太大了,与Design center上面的不一致,请问是为什么?

Susan Yang:

通常,Count和Lta的值几乎相同。Count是测量结果,刷新率为每秒33次。LTA是长时间的平均值。

是一直都是两者相差很大还是在某些情况下?能给出具体数据吗?

若是接近度转换计数以及接近阈值设置有问题的化,会使得接近度传感器非常灵敏。

我们不建议将转化计数conversion count设置为1000以上。

您可以尝试的一些方法:

将转换计数conversion count设置为1000。

将超时阈值 timeout threshold设置为100,也就是如果接近传感器被触发持续了33ms * 100 = 3.3s,则接近传感器将被重新校准。

若是上述方法都不能成功的化,请您上传一下您的配置文件,谢谢

user6341679:

回复 Susan Yang:

你好,按照你的方法改的值之后还是不行:#define min_value(a,b) (((a)>(b))?(a-b):(b-a))
void Demo_proximityGroupEventHandler1(tSensor* pSensor)
{uint16_t rawCount_l=0;uint16_t LTA_addr_l=0;uint16_t LTA_l=0;uint16_t delta_l=0;static uint8_t i=0;if (pSensor->bSensorNegativeTouch){CAPT_calibrateSensor(pSensor);return;}
rawCount_l = *(uint16_t *)(DEMO_LEFT_ELEMENT.pRawCount);LTA_addr_l = ((uint16_t)&(DEMO_LEFT_ELEMENT.LTA));LTA_addr_l = LTA_addr_l;LTA_l = min_value(rawCount_l,LTA_addr_l);printf_msp("1:LTA:%d count:%d,delta:%d\r\n",LTA_addr_l,rawCount_l,LTA_l);
}

我在另一个函数中打印:
bool CAPT_writeElementData(uint8_t ui8SensorID)
{
#if ((CAPT_INTERFACE==__CAPT_BULKI2C_INTERFACE__) || (CAPT_INTERFACE==__CAPT_UART_INTERFACE__))uint8_t ui8Cycle;uint16_t ui16Length;uint16_t ii = 0;//// Ensure that element transmission is enabled, and sensor ID is valid//if ((g_pApp->bElementDataTxEnable == false)|| (g_pApp->pSensorList[ui8SensorID] == 0)){return false;}
//// Transmit element data one cycle at a time.//for (ui8Cycle = 0;ui8Cycle < g_pApp->pSensorList[ui8SensorID]->ui8NrOfCycles;ui8Cycle++){ui16Length = MAP_CAPT_getCyclePacket(g_pApp->pSensorList,ui8SensorID, ui8Cycle, g_PingPongBuffer.pEditBuffer);if (ui16Length==0){return false;}for(ii = 0;ii<ui16Length;ii++){printf_msp(" 0x%x",g_PingPongBuffer.pEditBuffer[ii]);
}printf_msp("\r\n");
#if(CAPT_INTERFACE==__CAPT_UART_INTERFACE__)ui16Length = MAP_CAPT_stuffSyncBytes(g_PingPongBuffer.pEditBuffer,ui16Length);(void)MAP_CAPT_togglePingPongBuffer(&g_PingPongBuffer);UART_transmitBuffer(g_PingPongBuffer.pTransmitBuffer, ui16Length);
#elif (CAPT_INTERFACE==__CAPT_BULKI2C_INTERFACE__)(void)MAP_CAPT_togglePingPongBuffer(&g_PingPongBuffer);I2CSlave_setTransmitBuffer((g_PingPongBuffer.pTransmitBuffer+TL_PCKT_SERIAL_OVRHD_LENGTH),(ui16Length-TL_PCKT_SERIAL_OVRHD_LENGTH));I2CSlave_setRequestFlag();
#endif /* CAPT_INTERFACE SELECTION */}
return true;
#elsereturn false;
#endif
}

以下为数据:0x55 0xaa 0xc 0x1 0x1 0x0 0x0 0x0 0x0 0xce 0x3 0xd8 0x3 0xae 0x1
2:LTA:9464 count:984,delta:84800×55 0xaa 0xc 0x1 0x2 0x0 0x0 0x0 0x0 0xd5 0x3 0xd7 0x3 0xb5 0x10x55 0xaa 0xc 0x1 0x3 0x0 0x0 0x0 0x0 0xda 0x3 0xdb 0x3 0xbf 0x10x55 0xaa 0x18 0x1 0x0 0x0 0x0 0x0 0x0 0xf2 0x1 0xf3 0x1 0xe9 0x1 0xe9 0x1 0xf1 0x1 0xf1 0x1 0xea 0x1 0xea 0x1 0x76 0x70x55 0xaa 0x18 0x1 0x0 0x1 0x0 0x0 0x0 0xf3 0x1 0xf3 0x1 0xf4 0x1 0xf4 0x1 0xef 0x1 0xf3 0x1 0xef 0x1 0xef 0x1 0x98 0x7
1:LTA:9438 count:983,delta:84550×55 0xaa 0xc 0x1 0x1 0x0 0x0 0x0 0x0 0xce 0x3 0xd7 0x3 0xad 0x1
2:LTA:9464 count:977,delta:84870×55 0xaa 0xc 0x1 0x2 0x0 0x0 0x0 0x0 0xd5 0x3 0xd4 0x3 0xb2 0x10x55 0xaa 0xc 0x1 0x3 0x0 0x0 0x0 0x0 0xda 0x3 0xdb 0x3 0xbf 0x10x55 0xaa 0x18 0x1 0x0 0x0 0x0 0x0 0x0 0xf2 0x1 0xf3 0x1 0xe9 0x1 0xe9 0x1 0xf1 0x1 0xf1 0x1 0xea 0x1 0xea 0x1 0x76 0x70x55 0xaa 0x18 0x1 0x0 0x1 0x0 0x0 0x0 0xf3 0x1 0xf3 0x1 0xf4 0x1 0xf4 0x1 0xef 0x1 0xf3 0x1 0xef 0x1 0xef 0x1 0x98 0x7
1:LTA:9438 count:981,delta:84570×55 0xaa 0xc 0x1 0x1 0x0 0x0 0x0 0x0 0xce 0x3 0xd6 0x3 0xac 0x1
2:LTA:9464 count:980,delta:84840×55 0xaa 0xc 0x1 0x2 0x0 0x0 0x0 0x0 0xd5 0x3 0xd4 0x3 0xb2 0x10x55 0xaa 0xc 0x1 0x3 0x0 0x0 0x0 0x0 0xda 0x3 0xdd 0x3 0xc1 0x10x55 0xaa 0x18 0x1 0x0 0x0 0x0 0x0 0x0 0xf2 0x1 0xf3 0x1 0xe9 0x1 0xe9 0x1 0xf1 0x1 0xf1 0x1 0xea 0x1 0xea 0x1 0x76 0x70x55 0xaa 0x18 0x1 0x0 0x1 0x0 0x0 0x0 0xf3 0x1 0xf3 0x1 0xf4 0x1 0xf4 0x1 0xef 0x1 0xf2 0x1 0xef 0x1 0xef 0x1 0x97 0x7
1:LTA:9438 count:983,delta:84550×55 0xaa 0xc 0x1 0x1 0x0 0x0 0x0 0x0 0xce 0x3 0xd6 0x3 0xac 0x1
2:LTA:9464 count:978,delta:84860×55 0xaa 0xc 0x1 0x2 0x0 0x0 0x0 0x0 0xd5 0x3 0xd3 0x3 0xb1 0x10x55 0xaa 0xc 0x1 0x3 0x0 0x0 0x0 0x0 0xda 0x3 0xdc 0x3 0xc0 0x1

Susan Yang:

回复 user6341679:

好的,我会在分析确认后给您回复

user6341679:

回复 Susan Yang:

CAPT_UserConfig.c

Susan Yang:

回复 user6341679:

请问是否能给出您的conversion count等配置参数?建议您附上CAPT_UserConfig.c 和 CAPT_UserConfig.h文件

user6341679:

回复 Susan Yang:

CAPT_UserConfig.h

赞(0)
未经允许不得转载:TI中文支持网 » MSPFR2633 的LTA值
分享到: 更多 (0)