- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UCGUI移植教程
UCGUI在STM32上移植教程说明开发板芯片型号STM32F103VET6板载液晶型号ILI9341所需准备资料UCGUI3.90源码一个工程模板为了节约时间,此处所用模板为野火M3工程模板(3.5.0) 制作时间---2013-08-07 By NUAA---Kylin移植过程讲解首先打开工工程模板,页面如下,这个模板工程很简单在工程模板中新建两个文件夹命名为GUI与Mylib在GUI文件夹下添加以下内容上述图片为UCGUI3.90源码中的一些文件夹进入UCGUI3.90源码文件夹/Start,将Config文件夹原封不动的拷过来进入UCGUI3.90源码文件夹/Start/GUI文件夹,将其中所有文件夹拷过来在GUI文件夹下新建GUI_X文件夹,进入UCGUI3.90源码文件夹/ Sample/ GUI_X文件夹中,如果带操作系统应该拷贝GUI_X_uCOS.c,如果不带操作系统拷贝GUI_X.c,在这里我们将将GUI_X.c拷贝到新建GUI_X文件夹。各文件夹说明AntiAlias:9个C文件,主要用于抗锯齿的显示效果。ConvertColor:彩色显示的色彩转换支持。ConvertMono:(b/w)和灰度显示的色彩转换支持。Core:核心文件,提供了GUI基本的功能。Font:字库。JPEG:图片操作函数。LCDDriver:LCD驱动程序MenDev:Memorydevice 支持。这个东西可用在很多情况下,但最主要的功能是防止在项目重叠时,防止屏幕的闪烁。Widget:窗体控件库。WM:窗口管理库。Config:配置文件。GUI:源代码。GUI_X:操作系统接口函数。添加组及源文件将GUI文件夹下的所有文件夹添加到GROUP右键工程工程项目名选择manage components将这些组全部添加上如图然后除了LCDDriver以及Font不Add Files其他的都将对应文件夹下的内容添加进来原因如下:因为不同液晶需要不同的驱动,字体的话也是自行选择。完成后如下图所示添加头文件路径完成以上操作之后开始编译因编译时间较长,编译过程中将Config组下的GUIConf.h改成如下图所示,初步移植,这些功能可以先关掉,修改内容如图另外将Config组下的GUITouchConf.h改成如下图所示其他部分删掉将Config组下的LCDConf.h改成如下图所示编译完发现存在很多错误如下图所示,不过还好错误都是一些未定义的错误解决首先看第一个错误,缺少字体文件,所以右键组Font将Font文件夹下的Font6x8.c添加进组其他未定义的内容有:LCD_L0_SetLUTEntryLCD_L0_SetOrgLCD_L0_SetPixelIndexLCD_L0_DrawBitmapLCD_L0_DrawHLineLCD_L0_FillRectLCD_L0_InitLCD_L0_OnLCD_L0_XorPixelLCD_L0_DrawVLineLCD_L0_GetPixelIndex解决方法:在GUI/LCDDriver/目录下新建一个LCD_GUI.c文件,并添加到组LCDDriver当中,由于这些错误都是未定义的,所以我们新建这样一个文件进行定义点击菜单栏Edit选择find in files找到函数声明的位置,会发现这些定义都在LCD_protected.h当中,将他们拷贝出来,放入LCD_GUI.c文件当中int LCD_L0_Init (void){}//要有返回值,不然编译报错 可以写return 0;void LCD_L0_SetLUTEntry (U8 Pos, LCD_COLOR color){}void LCD_L0_SetOrg (int x, int y){}void LCD_L0_SetPixelIndex(int x, int y, int PixelIndex){}void LCD_L0_DrawBitmap (int x0, int y0, int xsize, int ysize, int BitsPerPixel, int BytesPerLine, const U8 GUI_UNI_PTR * pData, int Diff, const LCD_PIXELINDEX* pTrans){}void LCD_L0_DrawHLine (int x0, int y0, int x1){}void LCD_L0_FillRect (int x0, int y0, int x1, int y1){}void LCD_L0_On (void){}void LCD_L0_XorPixel (int x, int y){}void LCD_L0_DrawVL
文档评论(0)