首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

uCGUI 学习笔记(2)

uCGUI 学习笔记(2)

当然也可以直接在LCDConf.c文件中,把宏改成如下:

#define LCD_INIT_CONTROLLER()
TFTInit();



3. 以上方法是利用样本函数,当然也可以自己编写连接代码。如果是直接编写,则需要编写如下函数:

函数

说明

初始化及显示控制组

LCD_L0_Init
()

初始化显示屏。

LCD_L0_ReInit
()

不擦除内容而重新初始化LCD。

LCD_L0_Off
()

关闭 LCD。

LCD_L0_On

()

开启 LCD。

绘制组

LCD_L0_DrawBitmap
()

通用绘制位图函数。

LCD_L0_DrawHLine
()

绘制一条水平线。

LCD_L0_DrawPixel
()

以当前前景色绘制一个像素。

LCD_L0_DrawVLine
()

绘制一条垂直线。

LCD_L0_FillRect
()

直译一个矩形区域。

LCD_L0_SetPixelIndex()

以指定颜色绘制一个像素。

LCD_L0_XorPixel
()

反转一个像素。

“Get”组

LCD_L0_GetPixelIndex()
返回指定像素的颜色的索引。

“Set”组

LCD_L0_SetOrg

()


不再使用,保留给将来使用(必须在驱动器中存在)。

查询表组

LCD_L0_SetLUTEntry
()


修改LUT 的单个条目。

Misc.组(可选)

LCD_L0_ControlCache ()
锁/解锁/清除 LCD 高速缓存。

注意:红色为必须要实现的函数,其他函数可以为空,但必须保留函数体。



4. 在工程中添加uCGUI源代码和配置代码:


每个文件中只要添加相应的C文件即可,没有使用的部分可以不添加,LCDDriver中只要添加需要的LCD驱动代码即可。如果没有相应的LCD代码,而是使用样本代码,则只需要添加样本文件;如果是自己编写的代码,则添加自己的代码即可。



5.
设置包含路径,“Include”目录,确认你的Include 路径包括有以下目录(包括的先后顺序并不重要):

?
Config

?
GUI/Core

?
GUI/Widget(如果使用视窗控件库)

?
GUI/WM(如果使用视窗管理器)

警告:你必须确认你在每个文件中只使用了一个版本的μC/GUI




设置“include paths”


添加包含路径



6. 在例程中拷贝GUI_X文件夹中的文件:

①.GUI_X.C
:无系统

②.GUI_X_embOS.C :embOS系统

③.GUI_X_uCOS.C
:uCOS系统

根据不同条件添加不同文件,如果是无系统下添加文件①,否则根据系统添加文件,或编写文件。特别说明如下函数:

aint
GUI_X_GetTime(void);

此函数调用系统时间如果你的系统有实时时钟之类的可以将实时时钟驱动程序放在这里面。没有也没关系只是调用系统时间相关的函数不能用而已,可能这个功能很多人也不会用。

bvoid GUI_X_Delay(int Period);

此函数用于GUI的延时,如果没有跑系统,就自己手动的写个延时程序,如果跑了操作系统,就调用系统的延时函数。




在uCGUI中有很多地方都调用了以上函数,在其它的GUIDEMO_XXXX.C中也有这样一些循环,你要是调试是发现液晶屏上的显示一直停在一个画面上很久的话,应该就是以上函数的问题,需要根据需要修改。
继承事业,薪火相传
返回列表