ljc2010

ljc2010

0个粉丝

42

问答

0

专栏

74

资料

ljc2010  发布于  2013-08-27 15:58:39
采纳率 0%
42个问答
2829

战舰移植UCGUI个人心得(不带UCOS)【转】

 

【转】本人新手,这几天移植UCGUI遇到了种种问题,这里分享下自己的心得。 首先准备好一个工程和一个UCGUI源码,我是直接用了原点的实验13 TFTLCD显示实验,UCGUI源码用的是3.90的版本。 然后你需要修改一下LCD驱动,先把lcd.c和lcd.h改成别的名字,比如ili9320.c和ili9320.h.然后将lcd.c里面的初始化函数名字改成别的,比如ILI9320_Init(),然后再编译。 接着准备开始一直UCGUI,这里的步骤太多,就不写了。我是按照白开水的视频一步一步移植下来的。视频地址和下载之地是 http://bbs.anbn.cn/thread-58-1-1.html 移植直到编译全部通过之后,这里就出现了一个重大问题,困扰了我两天。按照上面的移植步骤,你到最后初始化GUI_Init()之后,下载到板子上,你会发现你的屏幕先白屏一下之后就马上黑屏,而且后面无论设置什么颜色都是这样的情况。这个问题主要原因是:在调用GUI_Init()的时候,这个函数会进入LCD_Init(),然后在LCD_Init()函数里面有着样的语句

if (GUI_DEFAULT_BKCOLOR != GUI_INVALID_COLOR)

    /* Clear video memory */

    LCD_SetDrawMode(GUI_DRAWMODE_REV);

    LCD_FillRect(0,0, GUI_XMAX, GUI_YMAX);

    LCD_SetDrawMode(0);

  #endif

这句#if (GUI_DEFAULT_BKCOLOR != GUI_INVALID_COLOR)里面 的GUI_DEFAULT_BKCOLOR 初值是OXFFFF, GUI_INVALID_COLOR 初值也是0XFFFF,而原子哥的初始化函数最后有一句LCD_Clear(WHITE);这样就把 GUI_INVALID_COLOR 的值设置成了0X0000;导致调用了下面的三个函数。从而出现上面的问题。只要把 原子哥 的初始化函数LCD_Clear(WHITE); 注释掉就不会错了,小问题大错误。 希望自己的小心得对大家有有用。

我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区