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

关于UCGUI的配制文件(2)

关于UCGUI的配制文件(2)

最终内存空间分布情况如下:
0~~3-----------------------首结点4字节.
4~~203--------------------第4次分配占用
204~~303-----------------第5次分配占用
304~~503-----------------free
504~~1003---------------第二次分配占用
1004~~2013--------------第三次分配占用
2014~~2413--------------第六次分配占用
如此, 这个内存分配的过程与原理就比较清晰的展示出来了, 在整个内存分配过程中, 用于记录内存分配状态的节点数组中, 形成的链表是在为不断的变化中的.认清这种变化才可以对内存分配的本质有所认识, 才能够真正分清内存分配.
5.关于GUI_WINSUPPORT
GUI_WINSUPPORT是用于是否须要窗口支持的, 在UCGUI当中提供了Frame winodws,edit, button, progress等基本的图形控件,与WINDOWS上的类似, 但目前的功能则还不尽人意.图形效果与功能都不强..
6.关于GUI_SUPPORT_MEMDEV
GUI_SUPPORT_MEMDEV是指显示时, 是直接写一个一个象素到显示设备, 还是在内存当中当画好所有要画一屏幕点后再全部一次写到显示设置. 这两点的主要区别是, 如果一个一个点写, 则会出现闪的现象, 因为一个一个点的画, 如果速度慢, 可以扞到画一个复杂的图形时,是分几步一点点的画出来的...但是如果先画到内存当中, 再一次性COPY所有象素点到显示设备就不会有这种现象, 是一个连续的过程..画点时是连续的画,没有间隔.
7.关于GUI_SUPPORT_AA
GUI_SUPPORT_AA是指是否须要对边界进行模糊填充的功能, 比如说, 画一条斜线, 可以看到是一段一段的:
        \
         \
           \
            \
              \
               \
这样从效果上看, 那么不是特别美观, 如果可以在线的偏离的周围进行线的颜色的淡化处理,即在线的周围填充一点*近线的颜
色的象素点..那么看上去将会偏离得没那么明显, 比较模糊一点.
二. GUITouch.h的配制.
#ifndef GUITOUCH_CONF_H
#define GUITOUCH_CONF_H
#define GUI_TOUCH_AD_LEFT  20   
#define GUI_TOUCH_AD_RIGHT  240   
#define GUI_TOUCH_SWAP_XY    1
#define GUI_TOUCH_MIRROR_X   0
#define GUI_TOUCH_MIRROR_Y   1
#endif /* GUITOUCH_CONF_H */
由以上可以看出.GUITouch.h可预定义的选项更少了, 只是一些数值上的定义, 基本不会影响到UCGUI编译后的代码大小.
三.关于LCDConf.h
#define LCD_XSIZE      (320)   /* X-resolution of LCD, Logical coor. */
#define LCD_YSIZE      (240)   /* Y-resolution of LCD, Logical coor. */
#define LCD_BITSPERPIXEL (16)
#define LCD_CONTROLLER 1375
//Add by houhh 20050420
/*********************************************************************
*
*                   List of physical colors
*
**********************************************************************
*/
/*********************************************************************
*
*                   Full bus configuration
*
**********************************************************************
*/
#define LCD_READ_MEM(Off)            *((U16*)         (0xc00000+(((U32)(Off))<<1)))
#define LCD_WRITE_MEM(Off,data)      *((U16*)         (0xc00000+(((U32)(Off))<<1)))=data
#define LCD_READ_REG(Off)            *((volatile U16*)(0xc1ffe0+(((U16)(Off))<<1)))
#define LCD_WRITE_REG(Off,data)      *((volatile U16*)(0xc1ffe0+(((U16)(Off))<<1)))=data
    .
    .
    .
    .
#endif /* LCDCONF_H */
1. LCD_XSIZE/LCD_YSIZE
这是指定LCD显示屏的宽高的.
2.LCD_BITSPERPIXEL
是指定屏幕上一个象素由几位来表示. 位数越多, 能够表示的颜色数就越多. 一屏所占用的内存就越多.
继承事业,薪火相传
返回列表