四线电阻触摸屏的采样滤波算法,实践证明很好用的!
void TsAdcStart(void) // 自己实现
{
}
bool IsTsAdcOver(void) // 自己实现
{
bool iRes;
return iRes;
}
u16 TsAdcGetX(void) // 自己实现
{
u16 iXPhy = 0;
return iXPhy;
}
u16 TsAdcGetY(void) // 自己实现
{
u16 iYPhy = 0;
return iYPhy;
}
void delayms(u32 t) // 自己实现
{
}
u32 TsGetPhyCoord(void)
{
u8 i = 0;
u8 j = 0;
u16 arrXPhy[3] = {0};
u16 arrYPhy[3] = {0};
u16 arrMidXPhy[2] = {0};
u16 arrMidYPhy[2] = {0};
u16 deltaX = 0;
u16 deltaY = 0;
u32 iXYPhy = 0;
for (i=0; i<6; i++)
{
if (i == 0)
{
delayms(5); // 初次采样前的消抖延时
}
// x、y分别取3个物理值作为一组
for (j=0; j<3; j++)
{
TsAdcStart(); // 自己实现
while (!IsTsAdcOver()); // 自己实现
arrXPhy[j] = TsAdcGetX(); // 自己实现
arrYPhy[j] = TsAdcGetY(); // 自己实现
if (j !&#