OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 53571|回复: 49

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

[复制链接]

12

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2012-9-18
在线时间
0 小时
发表于 2012-11-6 14:40:15 | 显示全部楼层 |阅读模式

                          本人新手,这几天移植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); 注释掉就不会错了,小问题大错误。
        希望自己的小心得对大家有有用。






GUI.zip

1.52 MB, 下载次数: 7539

UCGUI3.90版源码.zip

2.3 MB, 下载次数: 8686

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-11-6 17:49:45 | 显示全部楼层
回复 支持 反对

使用道具 举报

10

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2011-1-15
在线时间
5 小时
发表于 2012-11-6 18:32:43 | 显示全部楼层
mark下
回复 支持 反对

使用道具 举报

22

主题

436

帖子

0

精华

高级会员

Rank: 4

积分
541
金钱
541
注册时间
2012-8-6
在线时间
2 小时
发表于 2012-11-6 19:33:33 | 显示全部楼层
mark
回复 支持 反对

使用道具 举报

2

主题

100

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
278
金钱
278
注册时间
2012-4-15
在线时间
0 小时
发表于 2012-11-6 20:44:26 | 显示全部楼层
顶一下,解决问题的过程很宝贵啊!
喜欢单片机,没什么道理,就像爱吃水煮鱼,对味而已。
回复 支持 反对

使用道具 举报

42

主题

568

帖子

0

精华

高级会员

Rank: 4

积分
784
金钱
784
注册时间
2010-12-19
在线时间
5 小时
发表于 2012-11-7 08:25:04 | 显示全部楼层
谢谢LZ分享呀。

原来还有UCGUI的视频教程呀,如果我早知道能有视频看就好了。

一个上蹿下跳的猴子~~~
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2012-11-13
在线时间
1 小时
发表于 2012-12-14 11:21:56 | 显示全部楼层
楼主,你的LCDconfig.h中 这两句:
“#define LCD_FIXEDPALETTE   (565)   //调色板格式 
#define LCD_SWAP_RB        (1)     //红蓝反色交换 ”
自己加进去的么?
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2012-12-3
在线时间
0 小时
发表于 2012-12-14 21:44:00 | 显示全部楼层
mark
回复 支持 反对

使用道具 举报

51

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
561
金钱
561
注册时间
2011-4-11
在线时间
43 小时
发表于 2012-12-14 21:56:04 | 显示全部楼层
有心我们这些后来者就可以少走弯路了
回复 支持 反对

使用道具 举报

19

主题

86

帖子

0

精华

初级会员

Rank: 2

积分
182
金钱
182
注册时间
2012-11-8
在线时间
0 小时
发表于 2012-12-17 08:54:45 | 显示全部楼层
mark
回复 支持 反对

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2013-4-12
在线时间
1 小时
发表于 2013-4-12 15:25:46 | 显示全部楼层
回复【楼主位】hua290565456:
---------------------------------
楼主你好,我也是按照这个视频移植的,我也遇到了同样的问题,但是我把 LCD_Clear(WHITE); 注释掉以后,还是黑屏啊,请问你知道什么原因吗
回复 支持 反对

使用道具 举报

9

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
122
金钱
122
注册时间
2013-3-16
在线时间
0 小时
发表于 2013-4-13 17:12:27 | 显示全部楼层
回复【11楼】andretianjun:
---------------------------------
注意获取相应点颜色的那个函数,否则只能刷屏了
回复 支持 反对

使用道具 举报

5

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2011-9-28
在线时间
1 小时
发表于 2013-4-19 22:06:30 | 显示全部楼层
mark
回复 支持 反对

使用道具 举报

53

主题

113

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2013-4-10
在线时间
83 小时
发表于 2013-4-24 00:19:31 | 显示全部楼层
回复【楼主位】hua290565456

谢谢你的分享,搞了两个晚上,终于成功了,由衷的感谢!!!
打铁还需自身硬@ing
回复 支持 反对

使用道具 举报

6

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2013-5-6
在线时间
0 小时
发表于 2013-5-8 23:21:23 | 显示全部楼层
谢谢你的分享!!!!搞了一天了!!终于成功了!!
回复 支持 反对

使用道具 举报

14

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2012-7-2
在线时间
10 小时
发表于 2013-5-9 08:40:29 | 显示全部楼层
mark
回复 支持 反对

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2011-11-9
在线时间
0 小时
发表于 2013-5-9 11:18:30 | 显示全部楼层
Mark
回复 支持 反对

使用道具 举报

16

主题

89

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
316
金钱
316
注册时间
2012-10-6
在线时间
9 小时
发表于 2013-5-17 12:08:46 | 显示全部楼层
楼主求救啊·····可以加好友聊聊教我吗??????留下联系扣扣呀
回复 支持 反对

使用道具 举报

16

主题

89

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
316
金钱
316
注册时间
2012-10-6
在线时间
9 小时
发表于 2013-5-29 14:53:23 | 显示全部楼层
回复【11楼】andretianjun:
---------------------------------
???????????????解决了没??????????
我的也是这问题啊
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2013-7-15
在线时间
0 小时
发表于 2013-7-25 16:47:48 | 显示全部楼层
楼主  我遇到的问题跟你一样  但我找不到LCD_Clear(WHITE)这个函数呀
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2013-7-15
在线时间
0 小时
发表于 2013-7-25 16:58:35 | 显示全部楼层
楼主  你给的例程更坑  直接连亮都不亮
回复 支持 反对

使用道具 举报

15

主题

94

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
371
金钱
371
注册时间
2012-11-8
在线时间
7 小时
发表于 2013-7-28 19:05:22 | 显示全部楼层
用MDK编译一下就费了好多时间啊,好多好多
一言一行一字一句一心一意一生一世
回复 支持 反对

使用道具 举报

2

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2013-7-22
在线时间
0 小时
发表于 2013-8-7 20:23:40 | 显示全部楼层
呜呜呜,谢谢楼主啊,碰到一模一样的问题,太激动了。。。,可是为什么注释掉了还是一样的啊,我都把楼主拿出来的那个IF里面的东西屏蔽掉了还是一样回复【楼主位】hua290565456:
---------------------------------
回复 支持 反对

使用道具 举报

2

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2013-7-22
在线时间
0 小时
发表于 2013-8-7 20:38:41 | 显示全部楼层
回复【18楼】weiwei:
---------------------------------
  你的这个问题解决了没啊
回复 支持 反对

使用道具 举报

头像被屏蔽

52

主题

440

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
1237
注册时间
2013-1-9
在线时间
151 小时
发表于 2013-8-7 21:21:08 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

16

主题

89

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
316
金钱
316
注册时间
2012-10-6
在线时间
9 小时
发表于 2013-8-7 23:35:08 | 显示全部楼层
回复【24楼】菜鸟也玩STM32:
---------------------------------
没,没激情了不玩饿了
回复 支持 反对

使用道具 举报

2

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2013-7-22
在线时间
0 小时
发表于 2013-8-8 08:38:10 | 显示全部楼层
回复【12楼】wsshopping:
---------------------------------
能说的具体点么大神,搞了2天了还是白屏一下然后黑 感觉能改的地方都该了
回复 支持 反对

使用道具 举报

2

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2013-7-22
在线时间
0 小时
发表于 2013-8-8 09:02:13 | 显示全部楼层
回复【26楼】weiwei:
---------------------------------
解决了解决了。。。呜呜呜,我可算是调了半个晚上加个早上,我注释掉了原子哥的LCD_WHITE,然后又去改了private.h里面的GUI默认背景,然后又各种改,后来发现那个那个dummy.c里面的读点函数有3个变量,可是我的read——point只有2个,没有颜色....改改就好了。谢谢你的回复,
回复 支持 反对

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2013-8-8 10:31:46 | 显示全部楼层
MARK!感谢分享
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

3

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2013-7-18
在线时间
0 小时
发表于 2013-8-27 15:08:43 | 显示全部楼层
回复【楼主位】hua290565456:
---------------------------------
正在寻找GUO3.90的源码,哈哈。
回复 支持 反对

使用道具 举报

13

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2013-8-3
在线时间
1 小时
发表于 2013-9-18 14:52:31 | 显示全部楼层
楼主,我建立了一个和你一样的工程,可是在编译的时候出现下述现象,大神帮帮忙啊




回复 支持 反对

使用道具 举报

2

主题

27

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2013-7-28
在线时间
1 小时
发表于 2013-9-21 19:54:25 | 显示全部楼层
101度开水继推出 手把手教你在stm32上移植ucgui 之
后又推出了一套UCGUI视频教程 详细系统的分析了
UCGUI很好的帮助ucgui爱好者进行学习和开发
开水 qq 610095871
ucgui.taobao.com
以下是回调函数和消息驱动的视频教程
http://www.tudou.com/programs/view/JTM6rVaqw8s/
http://www.tudou.com/programs/view/CpHGLDTlJuE/
http://ucgui.taobao.com/ 欢迎访问和搜藏万分感谢
回复 支持 反对

使用道具 举报

11

主题

62

帖子

0

精华

初级会员

Rank: 2

积分
126
金钱
126
注册时间
2013-4-22
在线时间
0 小时
发表于 2013-11-9 12:52:54 | 显示全部楼层
楼主,有没有清晰点的视频啊,土豆的太不清晰了,你提供的那个清晰地视频好像被删除了。
山登绝顶我为峰!
回复 支持 反对

使用道具 举报

28

主题

190

帖子

0

精华

高级会员

Rank: 4

积分
758
金钱
758
注册时间
2012-8-23
在线时间
71 小时
发表于 2013-11-9 13:12:11 | 显示全部楼层
顶一个
回复 支持 反对

使用道具 举报

56

主题

167

帖子

4

精华

高级会员

Rank: 4

积分
602
金钱
602
注册时间
2013-10-18
在线时间
59 小时
发表于 2013-11-9 22:36:16 | 显示全部楼层
回复【31楼】冰封小凯:
---------------------------------
你的问题解决了吗?我也碰到和你一样的问题
回复 支持 反对

使用道具 举报

7

主题

57

帖子

0

精华

初级会员

Rank: 2

积分
146
金钱
146
注册时间
2012-11-13
在线时间
12 小时
发表于 2014-1-15 11:16:43 | 显示全部楼层
我没有注释掉LCD_Clear(WHITE),也没有注释掉printf();直接用原子大哥的LCD驱动就可以正常显示,没有楼主说的情况出现。
回复 支持 反对

使用道具 举报

头像被屏蔽

38

主题

382

帖子

0

精华

高级会员

Rank: 4

积分
596
金钱
596
注册时间
2012-12-5
在线时间
19 小时
发表于 2014-1-15 14:22:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

5

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2013-10-14
在线时间
0 小时
发表于 2014-5-12 09:37:20 | 显示全部楼层
感谢楼主的分享!我按楼主的方法移植,在编译的时候出现了这样的问题。还请楼主指点指点啊!感激不尽!!

靡不有初?鲜克有终
回复 支持 反对

使用道具 举报

40

主题

196

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
402
金钱
402
注册时间
2014-8-7
在线时间
10 小时
发表于 2014-8-22 17:34:10 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,我原来在2.8寸的屏幕上可以正确显示,今天7寸屏到了,我用blcd替换了lcd,照理应该也能显示,但是每次都闪一下就没了,这是什么原因呢?
回复 支持 反对

使用道具 举报

40

主题

196

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
402
金钱
402
注册时间
2014-8-7
在线时间
10 小时
发表于 2014-8-22 17:40:27 | 显示全部楼层
回复【39楼】hustlairong:
---------------------------------

回复 支持 反对

使用道具 举报

40

主题

196

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
402
金钱
402
注册时间
2014-8-7
在线时间
10 小时
发表于 2014-8-22 17:41:15 | 显示全部楼层
回复【39楼】hustlairong:
---------------------------------

回复 支持 反对

使用道具 举报

40

主题

196

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
402
金钱
402
注册时间
2014-8-7
在线时间
10 小时
发表于 2014-8-22 17:47:32 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
是线的问题,我把线拔了,直接插板子上就可以用了,ORZ,调了我一天
回复 支持 反对

使用道具 举报

60

主题

225

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
483
金钱
483
注册时间
2013-7-27
在线时间
4 小时
发表于 2014-11-18 10:22:24 | 显示全部楼层
找了半天没有找到所谓 白开水的视频,谁能给个链接啊?
回复 支持 反对

使用道具 举报

16

主题

253

帖子

0

精华

高级会员

Rank: 4

积分
565
金钱
565
注册时间
2013-10-16
在线时间
52 小时
发表于 2015-1-29 13:49:06 | 显示全部楼层
谢谢楼主的风险,正在学习这个东西呢,楼主辛苦了。
回复 支持 反对

使用道具 举报

16

主题

253

帖子

0

精华

高级会员

Rank: 4

积分
565
金钱
565
注册时间
2013-10-16
在线时间
52 小时
发表于 2015-1-30 08:32:49 | 显示全部楼层
感谢楼主分享,楼主辛苦了。
现在正在找GUI源码,谢谢楼主分享。
回复 支持 反对

使用道具 举报

12

主题

91

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2014-10-9
在线时间
145 小时
发表于 2015-3-24 16:41:15 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2015-4-16 14:39:52 | 显示全部楼层
mark,移植UCGUI,赞一个
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

15

主题

58

帖子

0

精华

高级会员

Rank: 4

积分
520
金钱
520
注册时间
2016-4-26
在线时间
81 小时
发表于 2016-4-26 20:55:43 | 显示全部楼层
太感谢了
回复 支持 反对

使用道具 举报

164

主题

1230

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1477
金钱
1477
注册时间
2014-5-21
在线时间
342 小时
发表于 2017-3-14 19:32:17 | 显示全部楼层
MARK..
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-10-12
在线时间
10 小时
发表于 2017-10-16 08:59:00 | 显示全部楼层
冰封小凯 发表于 2013-9-18 14:52
楼主,我建立了一个和你一样的工程,可是在编译的时候出现下述现象,大神帮帮忙啊

回复#31楼,你这个错误的原因是 原来自带lcd.h中的LCD结构体定义的名称和GUI中的LCD结构体定义冲突,你把原来自带的LCD结构体改个名字就好。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 14:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表