OpenEdv-开源电子网

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

正点原子开发板ucGUI移植心得

[复制链接]

15

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2011-9-28
在线时间
0 小时
发表于 2012-1-21 19:49:29 | 显示全部楼层 |阅读模式

原子哥提供的实验29提供了ucOS+ucGUI的移植,尽管很好,但是对于像我这样的初学者同时消耗两个内容太难了,本人想一个一个吃掉,先吃ucGUI,可能是原子哥比较忙,没有提供相关移植过程的教程,小弟只能自己琢磨,最后终于搞定,现班门弄斧!
硬件平台:正点原子开发板,软件:ucgui3.98
步骤:
(1)以原子提供的TFT-LCD实验例程为基础,进行ucgui移植;
(2)便于管理,在实验例程的工程中建立ucGUI文件夹,将ucgui3.98中的ucGUI/AntiAlias,ucGUI/ConverMono,ucGUI/ConverColor,ucGUI/Font,ucGUI/Mendev,ucGUI/Widget,ucGUI/WM,ucGUI/Core等目录及内部代码文件复制到实验例程的ucGUI文件夹中,并在projet/management中相应地建立上述工程目录,并将各自所包含的文件添加到工程中。
(3)同样方法,建立Config、ucGUI_X和ucGUI/LCDDriver三个文件夹和相应的三个工程目录,将正点原子例程29中Config中三个文件复制过来,将ucGUI中的GUI_X.c和GUI_X_Touch.c复制过来,将LCDDriver中的ili9320_ucgui.c,ili9320_api.c和ILI93XX.c复制过来,最后仍然要添加到工程中;
(4)删除原工程hardware中lcd驱动文件ILI93XX.c
(5)在flash/config flash tool中的include选项中添加ucGUI/core,Config,ucGUI_X和ucGUI/LCDDriver三个目录路径
(6)最后编译通过,由于ucGUI版本的原因,可能在连接的时候会出现 一个LCD_L0_GetDevFunc变量没有定义,这时只需在ucGUI/Core/LCD_AP.C中屏蔽该变量即可。

正点原子开发板购买淘宝店铺:
http://openedv.taobao.com
正点原子STM32视频资料下载地址:
http://www.openedv.com/posts/list/13334.htm

ALIENTEK MINISTM32 实验39 ucGUI实验.zip

2.06 MB, 下载次数: 23525

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

使用道具 举报

13

主题

104

帖子

0

精华

初级会员

Rank: 2

积分
179
金钱
179
注册时间
2011-8-2
在线时间
0 小时
发表于 2012-1-22 15:33:12 | 显示全部楼层
回复 支持 反对

使用道具 举报

9

主题

102

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2011-1-20
在线时间
7 小时
发表于 2012-1-31 13:56:56 | 显示全部楼层
能否把代码分享一下?
回复 支持 反对

使用道具 举报

10

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2012-1-27
在线时间
0 小时
发表于 2012-2-4 18:09:49 | 显示全部楼层
可以的
回复 支持 反对

使用道具 举报

10

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2012-1-27
在线时间
0 小时
发表于 2012-2-4 18:17:44 | 显示全部楼层
 自己在原子哥开发板上移植的ucGUI

ucGUI_test(12.01.30).rar

4.78 MB, 下载次数: 29481

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-2-4 22:28:09 | 显示全部楼层
谢谢.
回复 支持 反对

使用道具 举报

9

主题

102

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2011-1-20
在线时间
7 小时
发表于 2012-2-5 21:21:31 | 显示全部楼层
感谢无私分享。
回复 支持 反对

使用道具 举报

10

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2012-1-27
在线时间
0 小时
发表于 2012-2-11 21:07:36 | 显示全部楼层
希望我们大家都不要保守自己的那点“落后”了!
回复 支持 反对

使用道具 举报

9

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2011-6-11
在线时间
0 小时
发表于 2012-2-19 13:05:25 | 显示全部楼层
回复【楼主位】hujiansheng121:
---------------------------------
楼主  我也刚开始学GUI  能QQ交流一下吗
回复 支持 反对

使用道具 举报

10

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
110
金钱
110
注册时间
2012-1-27
在线时间
0 小时
发表于 2012-2-19 17:26:17 | 显示全部楼层
回复【9楼】trusture:
---------------------------------
可以哦!我的QQ:274001082,共同进步
回复 支持 反对

使用道具 举报

4

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
144
金钱
144
注册时间
2012-5-27
在线时间
13 小时
发表于 2012-8-1 11:32:39 | 显示全部楼层
谢谢分享!
回复 支持 反对

使用道具 举报

20

主题

187

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
288
金钱
288
注册时间
2011-12-14
在线时间
0 小时
发表于 2012-8-1 13:56:40 | 显示全部楼层
感谢无私分享。

回复 支持 反对

使用道具 举报

14

主题

173

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
256
金钱
256
注册时间
2011-10-14
在线时间
2 小时
发表于 2012-8-1 14:13:40 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

3

主题

45

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2012-8-11
在线时间
27 小时
发表于 2012-8-11 22:06:22 | 显示全部楼层
谢谢
回复 支持 反对

使用道具 举报

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2013-1-30
在线时间
3 小时
发表于 2013-2-19 19:35:07 | 显示全部楼层
你好,你移植的DEMO可以移植运行么?我是说在ucos-II的系统下!
回复 支持 反对

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2013-3-17
在线时间
3 小时
发表于 2013-3-19 13:16:38 | 显示全部楼层
谢谢分享!
回复 支持 反对

使用道具 举报

1

主题

22

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-3-27
在线时间
0 小时
发表于 2013-3-27 14:34:54 | 显示全部楼层
感谢分享,刚弄了个战舰的,开始stm之旅!
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2013-3-3
在线时间
1 小时
发表于 2013-3-27 15:05:55 | 显示全部楼层
学习下,多谢分享!
回复 支持 反对

使用道具 举报

4

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2013-4-2
在线时间
0 小时
发表于 2013-4-10 22:54:52 | 显示全部楼层
回复【楼主位】hujiansheng121:
---------------------------------
将ucgui3.98中的ucGUI/AntiAlias,ucGUI/ConverMono,ucGUI/ConverColor,ucGUI/Font,ucGUI/Mendev,ucGUI/Widget,ucGUI/WM,ucGUI/Core等目录及内部代码文件复制到实验例程的ucGUI文件夹中
就是只要复制ucGUI/AntiAlias,ucGUI/ConverMono,ucGUI/ConverColor,ucGUI/Font,ucGUI/Mendev,ucGUI/Widget,ucGUI/WM,ucGUI/Core
这几个其他不要?
回复 支持 反对

使用道具 举报

126

主题

820

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1683
金钱
1683
注册时间
2012-10-28
在线时间
62 小时
发表于 2013-4-11 08:29:38 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

126

主题

820

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1683
金钱
1683
注册时间
2012-10-28
在线时间
62 小时
发表于 2013-4-26 08:24:55 | 显示全部楼层
tks!
回复 支持 反对

使用道具 举报

6

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
188
金钱
188
注册时间
2012-4-19
在线时间
34 小时
发表于 2013-6-20 15:46:10 | 显示全部楼层
感谢无私分享。 ALIENTEK MiniSTM32开发板  测试通过
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2013-7-15
在线时间
0 小时
发表于 2013-7-25 15:52:10 | 显示全部楼层
楼主  我用了你的例程   烧进去后只出现彩条  接近黑屏  我烧其他的例程也是这样   我用的是正点原子的开发板  LCD是ili9320的
回复 支持 反对

使用道具 举报

11

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2012-7-12
在线时间
5 小时
发表于 2013-9-23 20:17:40 | 显示全部楼层
下了就要顶
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2013-9-10
在线时间
2 小时
发表于 2013-10-11 22:39:33 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

3

主题

15

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2013-4-21
在线时间
0 小时
发表于 2013-10-12 08:18:54 | 显示全部楼层
求ucgui3.98
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2014-3-31
在线时间
0 小时
发表于 2014-3-31 16:47:10 | 显示全部楼层
问楼主一个问题,希望能得到帮助,在移植ucgui的时候如果获取某个像素点颜色的函数驱动没有的话,会不会导致不能正常触屏?这个问题困扰了我很久
回复 支持 反对

使用道具 举报

3

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2014-4-5
在线时间
0 小时
发表于 2014-4-13 02:00:26 | 显示全部楼层
只是修改了一些吧   不过应该差不多的
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2014-4-23
在线时间
0 小时
发表于 2014-5-21 21:12:41 | 显示全部楼层
好东西,顶一下
回复 支持 反对

使用道具 举报

38

主题

165

帖子

0

精华

高级会员

Rank: 4

积分
646
金钱
646
注册时间
2014-3-5
在线时间
67 小时
发表于 2014-5-23 17:01:03 | 显示全部楼层
回复【5楼】火拼狂赌OK:
---------------------------------
我的MINI3.0版本怎么用不了?
Hard work!
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2014-7-10
在线时间
0 小时
发表于 2014-7-10 11:50:46 | 显示全部楼层
谢谢分享,学习中
回复 支持 反对

使用道具 举报

3

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2012-10-15
在线时间
4 小时
发表于 2014-7-22 12:02:48 | 显示全部楼层
谢谢分享···
回复 支持 反对

使用道具 举报

2

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2014-7-11
在线时间
0 小时
发表于 2014-7-27 19:48:19 | 显示全部楼层
回复【5楼】火拼狂赌OK:
---------------------------------
大哥好!小弟下载您的程序在我的MINI STM32 V1.9开发板上运行后花屏,什么原因啊?乞求回帖
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2013-3-21
在线时间
0 小时
发表于 2014-7-27 20:42:18 | 显示全部楼层
给力哦,感谢。。。。。。。。。。。
勇敢的踏出第一步……… ,…
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2013-7-2
在线时间
0 小时
发表于 2014-7-30 09:36:45 | 显示全部楼层
谢谢分享
请问ucgui 3.98 和3.90 比多了些什么功能?
3.98支持中文了不?
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2014-8-12
在线时间
1 小时
发表于 2014-8-23 09:38:33 | 显示全部楼层
谢谢分享,学习中
我是学生正在学stm32
回复 支持 反对

使用道具 举报

0

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2014-4-29
在线时间
18 小时
发表于 2014-8-24 10:42:01 | 显示全部楼层
谢谢分享~~
回复 支持 反对

使用道具 举报

1

主题

18

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2013-12-25
在线时间
0 小时
发表于 2014-9-2 17:06:08 | 显示全部楼层
请问原子哥提供的实验29提供了ucOS+ucGUI的移植在哪下载,我好像没找到
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-9-2 23:57:55 | 显示全部楼层
 回复【38楼】 1989despair :
---------------------------------
http://www.openedv.com/posts/list/13912.htm?fromAll=0
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

18

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2013-12-25
在线时间
0 小时
发表于 2014-9-3 09:43:14 | 显示全部楼层
回复【39楼】正点原子:
---------------------------------
谢谢
回复 支持 反对

使用道具 举报

8

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2013-9-19
在线时间
16 小时
发表于 2014-11-15 15:31:17 | 显示全部楼层
回复【5楼】火拼狂赌OK:
---------------------------------
我移植你的之后怎莫白屏
回复 支持 反对

使用道具 举报

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2014-9-10
在线时间
5 小时
发表于 2014-11-28 09:04:54 | 显示全部楼层
想问下 ucGUI实验用到外部那个SRAM了吗
回复 支持 反对

使用道具 举报

8

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2013-9-19
在线时间
16 小时
发表于 2014-11-28 10:55:16 | 显示全部楼层
回复【42楼】dammon:
---------------------------------
没有
回复 支持 反对

使用道具 举报

4

主题

6

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2014-11-21
在线时间
0 小时
发表于 2014-12-12 11:07:25 | 显示全部楼层
如何用定时器测量两个外部脉冲之间的时间间隔?求指点。
回复 支持 反对

使用道具 举报

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2014-9-10
在线时间
5 小时
发表于 2014-12-12 16:09:31 | 显示全部楼层
回复【44楼】赤色忠心:
---------------------------------
这不就和捕获一个高电平的时间原理一样吗。。只是把一高一低出发 改成两个高 或两个低
回复 支持 反对

使用道具 举报

20

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2013-4-18
在线时间
0 小时
发表于 2015-3-7 23:47:04 | 显示全部楼层
虽然还没有做那一块,但无私奉献的必须顶啊,,,,大赞
回复 支持 反对

使用道具 举报

4

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2015-1-14
在线时间
0 小时
发表于 2015-3-25 11:11:00 | 显示全部楼层
回复【5楼】火拼狂赌OK:
---------------------------------
非常感谢。你用的是mini还是战舰?
回复 支持 反对

使用道具 举报

80

主题

188

帖子

0

精华

高级会员

Rank: 4

积分
680
金钱
680
注册时间
2013-8-16
在线时间
37 小时
发表于 2015-3-26 20:34:41 | 显示全部楼层
大家好,我遇到一个问题想请教一下大家。我使用正点原子mini开发板做了个外部中断的实验,选用的是第32和第33个引脚分别作为按键1,按键2的IO口------PB12,PB3.这两个IO口除去作为通用IO口外,都有复用功能。
PB12功能(包含复用功能)为:PB12/SPI2_NSS/I2S2_WS/I2C2_SMBAI/TIM1_BKIN;
PB13功能(包含服用功能)为:PB13/SPI2_SCK/I2S2_CK/TIM1_CH1N。
可是按按键不能进入外部中断服务程序,不知道是什么原因,下面是我的代码,还请知道原因的大哥能够指点一二,谢谢。
代码:
void EXTIX_Init(void)
{
   EXTI_InitTypeDef EXTI_InitStructure;
   NVIC_InitTypeDef NVIC_InitStructure;

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//外部中断,需要使能AFIO时钟

  KEY_Init();//初始化按键对应io模式

   //GPIOB.12 中断线以及中断初始化配置
  GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource12);

  EXTI_InitStructure.EXTI_Line=EXTI_Line12;
  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;//下降沿触发
  EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  EXTI_Init(&EXTI_InitStructure); //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器

    //GPIOB.13   中断线以及中断初始化配置
  GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource13);

  EXTI_InitStructure.EXTI_Line=EXTI_Line13;
  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
  EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  EXTI_Init(&EXTI_InitStructure);   //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器

    NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; //使能按键所在的外部中断通道
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //抢占优先级2, 
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00; //子优先级1
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道
    NVIC_Init(&NVIC_InitStructure);
}

void EXTI15_10_IRQHandler(void)
{
  delay_ms(10);    //消抖  
   if(EXTI_GetITStatus(EXTI_Line12) != RESET)
    {
      sei();
      GPIOD->ODR^=0x04;  //led灯1随着按键1的按动亮灭
      EXTI_ClearITPendingBit(EXTI_Line12);   
   }
   else if(EXTI_GetITStatus(EXTI_Line13) != RESET)
    {
     sei();
     GPIOD->ODR^=0x08;  //led灯2随着按键2的按动亮灭
     EXTI_ClearITPendingBit(EXTI_Line13);   
   }
}

void KEY_Init(void)
{
 GPIO_InitTypeDef GPIO_InitStructure;

 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能PORTB时钟
 GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_12| GPIO_Pin_13;//PB12,PB13
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PB12,PB13设置成输入,默认下拉  
 GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化PB2,PB3
}

int main(void)
{
  delay_init();     //延时函数初始化
 LED_Init();   //初始化与LED连接的硬件接口 
  EXTIX_Init(); //外部中断初始化
  while(1)
 {

 }
}

回复 支持 反对

使用道具 举报

8

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2015-4-29
在线时间
0 小时
发表于 2015-6-15 20:38:15 | 显示全部楼层
为什么你的程序,下到正点原子板上就白屏,只有LED灯闪
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2015-7-25
在线时间
2 小时
发表于 2015-8-19 11:26:31 | 显示全部楼层
非常感谢,现在刚刚开始学习
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-23 13:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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