找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

谁帮我解读下关于触摸屏TSC2046芯片涉及到的这几个C语言的子函数

[复制链接]
admin 发表于 2012-9-2 14:56:31 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
unsigned long int HandShack(long int comm)
{
int i,j;
long int result;
result=0;
Tsc2046_CS=0;
Tsc2046_DCLK=0;
for(i=0;i<8;i++)
{
Tsc2046_DCLK=0;
if((comm&0x80)==0x80)
Tsc2046_DIN=1;
else
Tsc2046_DIN=0;
Tsc2046_DCLK=1;
Tsc2046_DCLK=1;
comm=comm<<1;

}
while(Tsc2046_BUSY!=0);
Delay(1);

Tsc2046_DIN=0;
Tsc2046_DCLK=1;
Tsc2046_DCLK=0;

for(j=0;j<11;j++)
{
Tsc2046_DCLK=1;

if(Tsc2046_DOUT==1)
{
result=result+1;
}
result=result<<1;
Tsc2046_DCLK=0;
}
Tsc2046_DCLK=1;

if(Tsc2046_DOUT==1)
result=result+1;
Tsc2046_DCLK=0;
Tsc2046_CS=1;
return(result);
}
///**********************************************************************
ScanPanel()
{
uint i,j;
long int a[3],b;
long int tempX,tempY;
long int xa,ya,Ydata;
long int Xdata;
for(i=0;i<3;i++)
{a[i]=HandShack(scanY_comm);
}
for(j=0;j<3;j++)
{
for(i=0;i<3;i++)
{if(a[i]>a[i+1])
{b=a[i+1];
a[i+1]=a[i];
a[i]=b;
}
}
}
tempY=a[1];
for(i=0;i<3;i++)
{a[i]=HandShack(scanX_comm);
}
for(j=0;j<3;j++)
{
for(i=0;i<3;i++)
{if(a[i]>a[i+1])
{b=a[i+1];
a[i+1]=a[i];
a[i]=b;
}
}
}
tempX=a[1];
ya=(tempY-m2+60)*400;//400
xa=(tempX-n1-5)*240;
Ydata=400-(uint)(ya/(m1-m2+90));
Xdata=240-(uchar)(xa/(n2-n1));
DDot(Xdata,Xdata,Ydata,Ydata,0xFF,0xFF);
}
ScanPanel1()
{

m1=HandShack(scanY_comm);
n1=HandShack(scanX_comm);
}
ScanPanel2()
{

m2=HandShack(scanY_comm);
n2=HandShack(scanX_comm);
}
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-25 04:44 , Processed in 0.059620 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表