初级会员

- 积分
- 65
- 金钱
- 65
- 注册时间
- 2015-11-17
- 在线时间
- 2 小时
|
1金钱
大家好:在原子的触屏USB实验中main函数里有下面一段程序:
if(tp_dev.sta&TP_PRES_DOWN) //触摸屏被按下
{
//最少移动5个单位,才算滑动
if(((usb_abs(tp_dev.x[0],xlast)>4)||(usb_abs(tp_dev.y[0],ylast)>4))&&tpsta==0)//等待滑动
{
xlast=tp_dev.x[0]; //记录刚按下的坐标
ylast=tp_dev.y[0];
tpsta=1;
}
if(tp_dev.x[0]<lcddev.width&&tp_dev.y[0]<lcddev.height)
{
if(tp_dev.x[0]>(lcddev.width-24)&&tp_dev.y[0]<16)Load_Draw_Dialog();//清除
else TP_Draw_Big_Point(tp_dev.x[0],tp_dev.y[0],RED); //画图
if(bDeviceState==CONFIGURED)
{
if(tpsta)//滑动
{
x0=(xlast-tp_dev.x[0])*3; //上次坐标值与得到的坐标值之差,扩大2倍
y0=(ylast-tp_dev.y[0])*3;
xlast=tp_dev.x[0]; //记录刚按下的坐标
ylast=tp_dev.y[0];
Joystick_Send(keysta,-x0,-y0,0); //发送数据到电脑
delay_ms(5);
}
}
}
在这段程序中第一个红色部分已经xlast=tp_dev.x[0]和ylast=tp_dev.y[0],但是在第二个红色的部分却用这两个的相减值乘3给X0和y0.这样的话x0和y0不就一直是0吗?
看不出什么时候这两个值有过改变。哪位大神给指点下?
|
|