首先说一下我的环境:用的是战舰板,移植好uC/OS-II和uC/GUI,触摸什么的都正常。
接下来就正式开始修改:
1.修改LCD的默认显示方向
mylcd.c中存放了LCD的驱动,里面有个LCD_MyInit(),用来初始化LCD,函数的最后有个LCD_Display_Dir()函数,用来切换LCD的显示方向,根据需要选择:0为竖屏,1为横屏。
LCD_Display_Dir(1); //横屏显示,默认为竖屏
2.修改uC/GUI中对应于触摸的坐标检测函数
在GUI_X_Touch.c中,有两个检测触摸的函数,GUI_TOUCH_X_MeasureX()与GUI_TOUCH_X_MeasureY(),竖屏显示的话MeasureX就返回X坐标,MeasureY就返回Y坐标,横屏显示的话反过来就可以了。
int GUI_TOUCH_X_MeasureX(void) {
tp_dev.scan(0);
return tp_dev.y; //横屏显示
// return tp_dev.x; //竖屏显示
}
int GUI_TOUCH_X_MeasureY(void) {
tp_dev.scan(0);
// return tp_dev.y; //竖屏显示
return tp_dev.x; //横屏显示
}
3.修改uC/GUI中触摸屏的相关设置
LCDConf.h中对应修改LCD_XSIZE与LCD_YSIZE,GUITouchConf.h中对应修改GUI_TOUCH_AD_RIGHT与GUI_TOUCH_AD_BOTTOM。这时你的X轴触摸可能是反的,修改一下GUI_TOUCH_MIRROR就好了。
|