中级会员
- 积分
- 363
- 金钱
- 363
- 注册时间
- 2015-10-29
- 在线时间
- 49 小时
|
具体代码可参考百为兄的程序,下面的链接是他的完整的工程,里面已经很详细。
来源http://bbs.21ic.com/icview-762448-1-1.html
下载地址: 百为STM32_stdlib3.5_ucosii2.92_stemwin5.20.rar 密码: gikk
直接使用上面的代码 触摸扫描程序会有问题,1是飞点,2是按键按住时会不断按下,我做了一点修改,经测试效果还是很好的。
static u8 _dbCnt=0;
static int _xLast = -1;
static int _yLast = -1;
void my_GUI_TOUCH_Exec(void)
{
int x_cur,y_cur;
int x,y;
int xOut, yOut;
if(!PEN)
{
_dbCnt++;
if(_dbCnt<5)
{
return;
}
_dbCnt = 0;
if(getxy (&x_cur, &y_cur))
{
Phys2Log(x_cur, y_cur, &x, &y);
}
else
{
x = _xLast;
y = _yLast;
}
if ((x != -1) && (y != -1) && (_xLast != -1) && (_yLast != -1)) {
xOut = _xLast;
yOut = _yLast;
} else {
xOut = -1;
yOut = -1;
}
GUI_TOUCH_StoreUnstable(xOut, yOut);
}
else
{
_dbCnt = 0;
x = -1;
y = -1;
GUI_TOUCH_StoreUnstable(-1, -1);
}
_xLast = x;
_yLast = y;
}
上面x ,y =-1的意思是,当x,y的坐标给定一个负值时,GUI会假定触摸屏未被按下。
|
|