[mw_shl_code=c,true]tp_dev.init(); //主函数里初始化
u8 TouchHandle(void)//子函数返回按键值
{
u16 k=0;//根据k值判断键值
u8 Tkey=12;//返回值初始化
tp_dev.scan(0);
if(tp_dev.sta&TP_PRES_DOWN)//
{
if((0<tp_dev.x)&&(tp_dev.x<240)&&\
(0<tp_dev.y)&&(tp_dev.y<320))
{
if(tp_dev.x<=111)
{
if(tp_dev.x<=51)
{
k=147;
}
else
k=258;
}
else
if(tp_dev.x<239)
{
if(tp_dev.x<=171)
k=369;
else
k=0;
}
if(tp_dev.y>=200)
{
if(tp_dev.y>=240)
{
if((tp_dev.y>=280)&&(tp_dev.y<=319))
k=k+1230;
else
k=k+4560;
}
else
k=k+7890;
}
}
tp_dev.x=0;//归零
tp_dev.y=0;
switch(k)//判断函数返回值
{
case 1377:Tkey=1;break;
case 4707:Tkey=2;break;
case 8037:Tkey=3;break;
case 1488:Tkey=4;break;
case 4818:Tkey=5;break;
case 8148:Tkey=6;break;
case 1599:Tkey=7;break;
case 4929:Tkey=8;break;
case 8259:Tkey=9;break;
case 7890:Tkey=0;break;
case 4560:Tkey=10;break;
case 1230:Tkey=11;break;
default:Tkey=12;break;
}
return Tkey;
}
[/mw_shl_code]
本程序大意是根据读取的坐标找到按键值,可是下到板子上后Tkey总是12,一天半时间了了找不到原因,请大家帮帮忙。谢谢(其他底层程序是原子的,一点没变) |