UCGUI移植.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UCGUI移植

移植UCGUI只需要修改3个文件:GUIConf.h,LCDConf.h,LCDDummy.c,并从源代码的Sample/GUI_X文件夹下复制GUI_X.c文件到工程的GUILib/Config目录下 GUIConf.h 刚开始移植的时候是没有RTOS的,LCD也不是触摸屏,所以GUI_OS和GUI_SUPPORT_TOUCH都定义为0,其他宏不需要修改 LCDConf.h LCD_XSIZE、LCD_YSIZE和LCD_BITSPERPIXEL根据开发板LCD的配置定义,我用的屏的分辨率是480*272的,16位RGB; LCD_CONTROLLER必须定义成-1,表示使用自己定义的LCD驱动,这个LCD驱动是通过修改LCDDummy.c模板来实现的,因为LCDDummy.c中开始部分要判断宏LCD_CONTROLLER是否等于-1,如果不等于-1,LCDDummy.c中的内容不会被编译,当然LCD_CONTROLLER也可以定义成其他植,但和LCDDummy.c中一定要对应起来,而且不能等于UCGUI自带的LCD驱动号 LCD_ON和LCD_OFF一定要定义,因为LCDDummy.c中的LCD_On()和LCD_Off()函数先判断相应的宏是否被定义,如果没定义则不会执行函数体中的内容 UCGUI的初始化过程中的LCD部分是通过GUI_Init()(GUICore.c)-LCD_Init()(LCD.c)-LCD_L0_Init()(LCD_Dummy.c)实现的,因为LCDDummy.c中的LCD初始化函数LCD_L0_Init()调用LCD_INIT_CONTROLLER()宏来调用自定义的LCD初始化函数,所以要将宏LCD_INIT_CONTROLLER()定义成自定义的LCD初始化函数GLCD_Init()。也可以在不用修改LCD_INIT_CONTROLLER()宏,而是在LCD_L0_Init()直接调用GLCD_Init() LCDDummy.c LCDDummy.c文件中需要修改的函数有: 1)、void LCD_L0_SetPixelIndex(int x, int y, int PixelIndex) 2)、void LCD_L0_GetPixelIndex(int x, int y) 3)、void LCD_On(void) 4)、void LCD_Off(void) 5)、int LCD_L0_Init(void) 修改如下: 其中395行的SetPixelIndex函数,422行的GetPixelIndex函数,536行的GLCD_On函数,542行GLCD_Off函数都是自己在LCD驱动文件中定义的函数,LCD_INIT_CONTROLLER()也被定义成LCD驱动文件中的LCD初始化函数 LCD驱动文件 1)、头文件drv_glcd.h: #include lpc_types.h #include sdram_mt48lc2m32lfb5.h #ifndef __GLCD_DRV_H #define __GLCD_DRV_H #define C_GLCD_PIX_CLK 9000000 #define C_GLCD_REFRESH_FREQ (50HZ) #define C_GLCD_H_SIZE 480 #define C_GLCD_H_PULSE 41 #define C_GLCD_H_FRONT_PORCH 2 #define C_GLCD_H_BACK_PORCH 2 #define C_GLCD_V_SIZE 272 #define C_GLCD_V_PULSE 10 #define C_GLCD_V_FRONT_PORCH 2 #define C_GLCD_V_BACK_PORCH 2 #define LCD_RED 0xf800 /* red color */ #define LCD_GREEN 0x07e0 /* green color */ #define LCD_BLUE 0x001f /* blue color */ #define LCD_

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档