OpenEdv-开源电子网

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

在stm32f103ZE平台和7寸lcd模块(ssd1963)移植STemWin

[复制链接]

4

主题

8

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2015-3-10
在线时间
0 小时
发表于 2015-3-28 20:35:53 | 显示全部楼层 |阅读模式
http://www.tudou.com/programs/view/S4Cd8DgawE4/
这几天我在学习ucGUI的移植。刚开始我只听说过ucGUI却不曾听说STemWin。STemWin是我在查ucGUI的移植资料过程中不小心发现的。
他们之间的关系,网上的说法就好了,不过我们不必太在意他们之间的区别。不说废话了,直接上移植过程。

1、首先得从网上下载一个STemWin的库文件。网址附上:http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/LN1734/PF259225?s_searchtype=partnumber

2、解压出来有一下目录:


这个pdf文件在移植过程中非常重要,接下来得步骤我会结合pdf中得相关内容讲解。大家在移植之前最好还是看一下这个文档Getting started with STemWin Library。这个文档也可以在官网上下载的。


3、因为我用的是stm32f103ZE,..\stemwin\STemWin_Library_V1.1.2\Project\STM3210E-EVAL\Standalone\MDK-ARM打开这个路径下工程文件。然后打开main.C文件看一下main函数的内容。

4、我们需要修改的主要的文件 

这个两个。 打开GUIConf_stm3210e_eval.c文件,根据自己的情况设置留给GUI的内存大小。//
// Define the available number of bytes available for the GUI
//
#define GUI_NUMBYTES  (1024) *  30   // x KByte  很据自己开发板情况确定给GUI的内存大小,不能太小
剩下的就不要动了。

5、打开LCDConf_stm3210e_eval.C文件。


这个是设置lcd的大小的,我的是7寸的(800*480).

 // Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y; 这句话是设定镜像的,没有注释之前,我的是竖着看的,我把它注释之后就是横着看了。

pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_565, 0, 0);  
GUIDRV_FlexColor_SetFunc(pDevice, &ortAPI, GUIDRV_FLEXCOLOR_F66720, GUIDRV_FLEXCOLOR_M16C0B16);

//参考STemWin5.pdf文件的1002页内容,我的lcd驱动是ssd1963,所以选着GUIDRV_FLEXCOLOR,颜色是16位565。
//1002页中罗列有很多lcd控制器,上面逻辑的控制器的驱动都是集成到STemWin库中了的,我们只需要写个初始化函数就可以用了。

6、初始化lcd控制器
int LCD_X_DisplayDriver(unsigned LayerIndex, unsigned Cmd, void * pData) {
  int r;
  (void) LayerIndex;
  (void) pData;
  
  switch (Cmd) {
  case LCD_X_INITCONTROLLER: {
    STM3210E_LCD_Init();   //这个就是你要自己写的初始化函数了。
    return 0;
  }
  default:
    r = -1;
  }
  return r;
}


写好初始化函数之后就可以编译下载看效果了。这处理器的速度有点低,显示效果不是很好,但是总得来说移植是成功的,起码步骤对了。
 
http://www.tudou.com/programs/view/S4Cd8DgawE4/


Config.zip

8.11 KB, 下载次数: 1625

Getting started with STemWin Library.pdf

566.96 KB, 下载次数: 1463

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-3-28 22:33:47 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2015-2-13
在线时间
0 小时
发表于 2015-12-4 21:52:34 | 显示全部楼层
能不能给一下代码,我弄了好久都不成功。403655224@qq.com,谢谢
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2016-11-17
在线时间
6 小时
发表于 2016-11-17 09:03:43 | 显示全部楼层
大神 我也用的ssd1963 初始化应该怎么跟stemwin联系起来呢  可以初始化 可以清屏   就是说stemwin 怎么调用我的函数的 我不懂 求解答啊
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2016-11-17
在线时间
6 小时
发表于 2016-11-17 09:11:27 | 显示全部楼层
这个函数要实现什么功能 ?初始化?关键是初始化过后怎么就能运行demo了 感觉两个没联系啊
QQ图片20161117090931.png
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 04:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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