1.移植准备
可以使用的工程文件以及下载好的uCGUI_v3.9源码
2.核心文件
核心文件包括以下文件 /Start/Config、/Start/GUI、
/ Sample/ GUI_X文件夹中带操作系统应该拷贝GUI_X_uCOS.c,带操作系统应该拷贝GUI_X_uCOS.c,还需要移植触摸屏的话,还需要拷贝GUI_X_Touch.c文件。
(详情参见度娘:https://wenku.baidu.com/view/3f680d3b87c24028915fc3ea.html)
LCDDrive驱动文件可单独存放,此次工程,我放置在lcd.c文件.
3.相关配置
打开Option选项,在C/C++选项卡中,记性添加操作
GUIConf.h
LCDConf.h
--------------------------------------------------链接个人LCD驱动----------------------------------------------------------------------
LCD_L0_SetPixelIndex() 中添加画点函数
LCD_L0_GetPixelIndex()中添加获取点颜色的函数
LCD初始化
LCD_L0_Init()中替换初始化函数
(详情参见度娘:https://wenku.baidu.com/view/9a8abb36b90d6c85ec3ac6a6.html)
此时基本已经完成了,编译报错,再修改就初步ok了!
PS:如果出现以下错误:
.\obj\ucgui.axf: Error: L6218E: Undefined symbol LCD_DrawHLine (referred from gui2dlib.o).
.\obj\ucgui.axf: Error: L6218E: Undefined symbol LCD_Color2Index (referred from gui_bmp.o).
.\obj\ucgui.axf: Error: L6218E: Undefined symbol LCD_DrawBitmap (referred from gui_bmp.o).
.\obj\ucgui.axf: Error: L6218E: Undefined symbol LCD_Index2Color (referred from gui_color2viscolor.o).
.\obj\ucgui.axf: Error: L6218E: Undefined symbol LCD_SetColorIndex (referred from gui_drawbitmapex.o).
.\obj\ucgui.axf: Error: L6218E: Undefined symbol LCD_DrawPixel (referred from gui_drawfocusrect.o).
.\obj\ucgui.axf: Error: L6218E: Undefined symbol LCD_FillRect (referred from gui_fillrect.o).
.\obj\ucgui.axf: Error: L6218E: Undefined symbol LCD_SetBkColor (referred from gui_setcolor.o).
.\obj\ucgui.axf: Error: L6218E: Undefined symbol LCD_SetColor (referred from gui_setcolor.o).
.\obj\ucgui.axf: Error: L6218E: Undefined symbol LCD_SetBkColorIndex (referred from gui_setcolorindex.o).
.\obj\ucgui.axf: Error: L6218E: Undefined symbol LCD_SetDrawMode (referred from gui_setdrawmode.o).
.\obj\ucgui.axf: Error: L6218E: Undefined symbol LCD_L0_SetLUTEntry (referred from gui_setlutentry.o).
参照上面修改GUIConf.h和LCDConf.h即可。
PS2:移植UCGUI时,内部程序默认为黑屏,这个需要修改下最好,所以最好有显示数据,不然看屏幕是否点亮,那么会崩溃的。
位置:
"LCD_Protected.h"
#ifndef GUI_DEFAULT_BKCOLOR
#define GUI_DEFAULT_BKCOLOR GUI_BLUE
#endif