收藏 分销(赏)

GUI移植笔记.doc

上传人:xrp****65 文档编号:7220028 上传时间:2024-12-28 格式:DOC 页数:6 大小:99KB 下载积分:10 金币
下载 相关 举报
GUI移植笔记.doc_第1页
第1页 / 共6页
GUI移植笔记.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
GUI移植笔记 日期:2011-5-14 一、GUI源码结构(3.90版本) GUI Sample Start GUI(例子) Application GUI_X Config GUI_X.c GUIConf.h GUI_X_uCOS.c GUITouchConf.h GUI_X_Touch.c LCDConf.h LCD_X GUI LCDConf AntiAlias ConvertColor ConvertMono Core Font JPEG LCDDriver MultiLayer Widget WM Touch Simulation.dsp (工程文件,用于VC仿真) Simulation.dsw (工作空间) 二、PC下的GUI仿真 1、安装Visual C++开发环境 2、进入GUI源码目录GUI---->Start 3、打开Start目录下的Simulation.dsw文件,如下图 A、 只要修改Application中的文件,就能看到GUI提供的不同Demo。 B、Demo文件在Sample目录下的GUI子目录中。按需要添加,再次编译,运行就能看到效果。 C、开发用户界面的时候可以在PC下按照这种方法,只需要编写Application中的文件在移植到目标开发板上去。 三、GUI的移植 1、编写好自己的LCD驱动程序,包括以下的三个基本函数。 void LCD_Init (); void LCD_SetPixel(unsigned short x, unsigned short y, unsigned short color); unsigned short LCD_GetPixel(unsigned short x, unsigned short y);(返回颜色值) 2、将驱动程序与GUI联系起来(对于自己编写驱动程序的) 1)修改LCDDriver目录下的LCDDummy.c文件。将以上三个函数添加到程序中。 void LCD_L0_SetPixelIndex(int x, int y, int PixelIndex) { … LCD_SetPixe(x,y,PixelIndex); } unsigned int LCD_L0_GetPixelIndex(int x, int y) { … PixelIndex = LCD(x,y); return PixelIndex; } int LCD_L0_Init(void) { LCD_Init(); return 0; } 2)在LCDDummy.c中#include”LCDxxx.h”(LCDxxx.h就是LCD驱动程序的位置)。 3)LCDDummy.c下还有GUI会调用到得画线画圆函数,可根据需要自行修改。 3、修改Config目录下的配置文件 1)LCDConf.h文件下LCD的相关宏定义: LCD_XSIZE (x) 横向最大像素 LCD_YSIZE (y) 纵向最大像素 LCD_MIRROR_X (1) X轴镜像 LCD_MIRROR_Y (1) Y轴镜像 LCD_SWAP_XY (1) XY轴互换 LCD_SWAP_RB (1) 红、蓝色互换 LCD_BITSPPIXEL (16) 像素颜色数据的长度 LCD_CONTROLLER (-1)定义采用LCDDummy中的驱动程序驱动屏幕 此部分的修改可以参考GUI手册中的第20章。 2)GUIConf.h中的配置 GUI_OS (0) 多任务系统支持 GUI_SUPPORT_TOUCH (1) 触摸屏支持 GUI_SUPPORT_UNICODE (1) Unicode支持 GUI_DEFAULT_FONT &GUI_Font8x16 默认字体设置 GUI_ALLOC_SIZE 15000 内存分配,用于WM模块,单位字节 (下面两行需要自行添加) GUI_DEFAULT_BKCOLOR 0x001F 默认背景色 GUI_DEFAULT_COLOR 0xF800 默认前景色 GUI_WINSUPPORT 1 视窗管理模块支持 GUI_SUPPORT_MEMDEV 0 /* Memory devices available */ GUI_SUPPORT_AA 1 /* Anti aliasing available */ 此部分的修改可以参考GUI手册中的第21章。 4、添加Sample/GUI_X/下的文件GUI_X.c(如果带系统添加CUI_X_OS.c)到工程中,同时把GUI源码的的C文件添加进工程,并且添加文件的路径。 5、在主程序文件中包含GUI.h文件。 6、在主程序中初始化GUI,如下: int main() { … GUI_Init(); … } 7、现在已经可以在主程序中随意调用GUI的函数了,除了触摸屏还不能用之外。 四、为GUI添加触摸功能 1、需要给GUI提供触摸屏AD转换的数据。 2、把编写触摸屏ADC采样函数。 3、把采样函数与GUI联系起来: 在Sample/GUI_X目录下的GUI_X_Touch.c文件中添加采样函数 int GUI_TOUCH_X_MeasureX(void) { /*触摸屏X轴坐标读取函数*/ return x; } int GUI_TOUCH_X_MeasureY(void) { /*触摸屏Y轴坐标读取函数*/ return y; } 并且在本C文件中包含ADC采样函数所在的文件。 4、修改配置文件 GUIConf.h文件配置 这项配置为1:GUI_SUPPORT_TOUCH (1) 打开触摸屏支持 GUITouchConf.h文件配置 GUI_TOUCH_AD_LEFT 315 触摸屏左边返回的数据(需要实际测量再修改) GUI_TOUCH_AD_RIGHT 3880 触摸屏有边返回的数据(需要实际测量再修改) GUI_TOUCH_AD_TOP 3880 触摸屏顶边返回的数据(需要实际测量再修改) GUI_TOUCH_AD_BOTTOM 335 触摸屏底边返回的数据(需要实际测量再修改) GUI_TOUCH_SWAP_XY 1 根据实际情况修改开关 GUI_TOUCH_MIRROR_X 1 GUI_TOUCH_MIRROR_Y 0 此部分的修改可以参考GUI手册中的第18章。 5、在Sample/GUI_X目录下的GUI_X.c文件中添加触摸屏初始化函数 void GUI_X_Init(void) { … touch_init(); … } 到此为止,GUI已经能调用触摸屏了。 在程序中需要不停调用GUI_Touch_Exec()函数来获取触摸屏XY的坐标值,该函数最好放在定时器中断中或者在多任务系统中创建已经新的进程来调用。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服