移植其实很简单的,拿原子其它屏的例子,把屏驱动放里面,把触摸的程序改成你自己的。屏吗,只要把打点读点和画线功能改为你的屏的就基本上差不多了。我用的是7寸电容屏,把这几个地方换了,再优一下,好了。
GUIDRV_Template.c中的
static void _FillRect(GUI_DEVICE * pDevice, int x0, int y0, int x1, int y1) {
LCD_Fill(x0,y0,x1,y1,LCD_COLORINDEX);
}
int GUI_TOUCH_X_MeasureX(void)
{
ctp_dev.scan();
return ctp_dev.y[0];
}
int GUI_TOUCH_X_MeasureY(void)
{
ctp_dev.scan();
ctp_dev.x[0]=800-ctp_dev.x[0];
return ctp_dev.x[0];
}
基本上就改这两处。ctp_dev.x[0]=800-ctp_dev.x[0];因为我的屏触摸后X轴是镜像,所以就加了800-ctp_dev.x[0];我用的STEMWIN无操作系统改的。本来想改有操作系统的。可惜改了以后程序太大,烧不进去了。因为我还要其它功能。还有不到的地方,因为能用。就没再改。X轴与Y轴对掉了。
移植其实很简单的,拿原子其它屏的例子,把屏驱动放里面,把触摸的程序改成你自己的。屏吗,只要把打点读点和画线功能改为你的屏的就基本上差不多了。我用的是7寸电容屏,把这几个地方换了,再优一下,好了。
GUIDRV_Template.c中的
static void _FillRect(GUI_DEVICE * pDevice, int x0, int y0, int x1, int y1) {
LCD_Fill(x0,y0,x1,y1,LCD_COLORINDEX);
}
int GUI_TOUCH_X_MeasureX(void)
{
ctp_dev.scan();
return ctp_dev.y[0];
}
int GUI_TOUCH_X_MeasureY(void)
{
ctp_dev.scan();
ctp_dev.x[0]=800-ctp_dev.x[0];
return ctp_dev.x[0];
}
基本上就改这两处。ctp_dev.x[0]=800-ctp_dev.x[0];因为我的屏触摸后X轴是镜像,所以就加了800-ctp_dev.x[0];我用的STEMWIN无操作系统改的。本来想改有操作系统的。可惜改了以后程序太大,烧不进去了。因为我还要其它功能。还有不到的地方,因为能用。就没再改。X轴与Y轴对掉了。
举报