UCGUI移植教程

UCGUI移植教程

ID:38255694

大小:247.20 KB

页数:10页

时间:2019-06-07

UCGUI移植教程_第1页
UCGUI移植教程_第2页
UCGUI移植教程_第3页
UCGUI移植教程_第4页
UCGUI移植教程_第5页
资源描述:

《UCGUI移植教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、UCGUI在STM32上移植教程1说明l开发板芯片型号STM32F103VET6l板载液晶型号ILI9341l所需准备资料UCGUI3.90源码l一个工程模板为了节约时间,此处所用模板为野火M3工程模板(3.5.0)制作时间---2013-08-07ByNUAA---Kylin2移植过程讲解2.1首先打开工工程模板,页面如下,这个模板工程很简单1.1在工程模板中新建两个文件夹1.1.1命名为GUI与Mylib1.1.2在GUI文件夹下添加以下内容l上述图片为UCGUI3.90源码中的一些文件夹l

2、进入UCGUI3.90源码文件夹/Start,将Config文件夹原封不动的拷过来l进入UCGUI3.90源码文件夹/Start/GUI文件夹,将其中所有文件夹拷过来l在GUI文件夹下新建GUI_X文件夹,进入UCGUI3.90源码文件夹/Sample/GUI_X文件夹中,如果带操作系统应该拷贝GUI_X_uCOS.c,如果不带操作系统拷贝GUI_X.c,在这里我们将将GUI_X.c拷贝到新建GUI_X文件夹。1.1.1各文件夹说明1)AntiAlias:9个C文件,主要用于抗锯齿的显示效果。2

3、)ConvertColor:彩色显示的色彩转换支持。3)ConvertMono:(b/w)和灰度显示的色彩转换支持。4)Core:核心文件,提供了GUI基本的功能。5)Font:字库。6)JPEG:图片操作函数。7)LCDDriver:LCD驱动程序8)MenDev:Memorydevice支持。这个东西可用在很多情况下,但最主要的功能是防止在项目重叠时,防止屏幕的闪烁。9)Widget:窗体控件库。10)WM:窗口管理库。11)Config:配置文件。12)GUI:源代码。13)GUI_X:操

4、作系统接口函数。1.2添加组及源文件1.2.1将GUI文件夹下的所有文件夹添加到GROUP右键工程工程项目名选择managecomponents将这些组全部添加上如图1.1.1然后除了LCDDriver以及Font不AddFiles其他的都将对应文件夹下的内容添加进来原因如下:因为不同液晶需要不同的驱动,字体的话也是自行选择。完成后如下图所示1.1.1添加头文件路径1.1.2完成以上操作之后开始编译因编译时间较长,编译过程中将Config组下的GUIConf.h改成如下图所示,初步移植,这些功能

5、可以先关掉,修改内容如图另外将Config组下的GUITouchConf.h改成如下图所示其他部分删掉将Config组下的LCDConf.h改成如下图所示1.1.1编译完发现存在很多错误如下图所示,不过还好错误都是一些未定义的1.1.1错误解决首先看第一个错误,缺少字体文件,所以右键组Font将Font文件夹下的Font6x8.c添加进组其他未定义的内容有:lLCD_L0_SetLUTEntrylLCD_L0_SetOrglLCD_L0_SetPixelIndexlLCD_L0_DrawBitm

6、aplLCD_L0_DrawHLinelLCD_L0_FillRectlLCD_L0_InitlLCD_L0_OnlLCD_L0_XorPixellLCD_L0_DrawVLinelLCD_L0_GetPixelIndex解决方法:在GUI/LCDDriver/目录下新建一个LCD_GUI.c文件,并添加到组LCDDriver当中,由于这些错误都是未定义的,所以我们新建这样一个文件进行定义点击菜单栏Edit选择findinfiles找到函数声明的位置,会发现这些定义都在LCD_protected

7、.h当中,将他们拷贝出来,放入LCD_GUI.c文件当中lintLCD_L0_Init(void){}//要有返回值,不然编译报错可以写return0;lvoidLCD_L0_SetLUTEntry(U8Pos,LCD_COLORcolor){}lvoidLCD_L0_SetOrg(intx,inty){}lvoidLCD_L0_SetPixelIndex(intx,inty,intPixelIndex){}lvoidLCD_L0_DrawBitmap(intx0,inty0,intxsize,

8、intysize,intBitsPerPixel,intBytesPerLine,constU8GUI_UNI_PTR*pData,intDiff,constLCD_PIXELINDEX*pTrans){}lvoidLCD_L0_DrawHLine(intx0,inty0,intx1){}lvoidLCD_L0_FillRect(intx0,inty0,intx1,inty1){}lvoidLCD_L0_On(void){}lvoidLCD_L0_XorPixel(intx,inty){}lvo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。