STM32不带操作系统移植STemwin基于IAR编译器.docx

上传人:b****0 文档编号:8999675 上传时间:2023-05-16 格式:DOCX 页数:10 大小:491.10KB
下载 相关 举报
STM32不带操作系统移植STemwin基于IAR编译器.docx_第1页
第1页 / 共10页
STM32不带操作系统移植STemwin基于IAR编译器.docx_第2页
第2页 / 共10页
STM32不带操作系统移植STemwin基于IAR编译器.docx_第3页
第3页 / 共10页
STM32不带操作系统移植STemwin基于IAR编译器.docx_第4页
第4页 / 共10页
STM32不带操作系统移植STemwin基于IAR编译器.docx_第5页
第5页 / 共10页
STM32不带操作系统移植STemwin基于IAR编译器.docx_第6页
第6页 / 共10页
STM32不带操作系统移植STemwin基于IAR编译器.docx_第7页
第7页 / 共10页
STM32不带操作系统移植STemwin基于IAR编译器.docx_第8页
第8页 / 共10页
STM32不带操作系统移植STemwin基于IAR编译器.docx_第9页
第9页 / 共10页
STM32不带操作系统移植STemwin基于IAR编译器.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

STM32不带操作系统移植STemwin基于IAR编译器.docx

《STM32不带操作系统移植STemwin基于IAR编译器.docx》由会员分享,可在线阅读,更多相关《STM32不带操作系统移植STemwin基于IAR编译器.docx(10页珍藏版)》请在冰点文库上搜索。

STM32不带操作系统移植STemwin基于IAR编译器.docx

STM32不带操作系统移植STemwin基于IAR编译器

STM32无操作系统移植STemWIN(IAR编译器)

本教程针对没有FSMC的单片机移植讲解

题外话:

很多人有疑问,关于UCGUI和STemwin以及emwin的区别,这里大致说一下,一个关键词:

SEGGER。

SEGGER是德国的一个知名公司,而emwin(embedwin)就是SEGGER公司的一款产品,为此SEGGER公司为UCOS定制的叫做UCGUI。

而ST(意法半导体)公司也定制了自己的GUI叫做STemwin。

其实都是SEGGER公司的产品。

(如果你是ST的MCU采用STemwin是不收费的哦)。

废话:

1、要移植STemwin必须要有STemwin这个库,想要获取的方法很简单,ST官方网站(自己有兴趣可以找找)、或者Keil安装目录下面也有,路径是:

Keil/ARM/SEGGER/emwin就是了,不过keil下面的版本不是最新的。

我的XX网盘分享了可以下载,

2、需要有开发板一块液晶屏(当然也可以用它自带的仿真工具在电脑进行仿真,好像还需要VC之类的软件,笔者没有深究),液晶屏的尺寸没有限制。

硬件的工作准备好。

笔者液晶屏采用240*320。

3、完整的液晶底层驱动,它包括(液晶初始化函数、设置x、y坐标画点函数、读取像素x、Y坐标的颜色的函数、设置X、y矩形框进行填充函数)就这些。

废话真多,下面进入正题

1、KEIL或者IAR建立完整的stm32的工程,笔者采用IAR,如下图:

2、打开下载的STemwin你会看到这样的文件,

 

说明:

Config这个是液晶配置文件,OS是带操作系统的(笔者没有移植OS),software文件夹下面试一些上位机软件,在使用STemwin的过程中有用,inc是库文件的头文件,DOC这个文件是一些说明文档。

3、打开lib问价夹,发现好多库文件,这就要根据你自己的实际情况选择了,笔者采用IAR而STM32是属于M3内核所以选择了STemwin522_CM3_IAR,如下:

4、将这些文件添加进你的工程,inc文件夹下的全部添加,Config只需要添加一些,lib只需要添加一个,demo也添加进来,添加好的文件如下:

添加了哪些地方有头文件需要包含以下,这个不用我多说,

5、添加好之后,自己编译一下,有错误就更改,直至没有错误为止,

6、更改配置文件,打开GUIConf.c文件配置,如下图:

7、配置GUIConf.h文件,这里面试一些开关,选择emwin支持的功能,可以全部打开,如下:

8配置

这个文件,这个文件是关键文件了配置如下:

尺寸配置:

voidLCD_X_Config(void)这个函数配置如下,

说明,这里笔者创建自己的LCD型号(如上图),如果不是,你可以选择LCD驱动型号,这个要看STemwin的数据手册了,并且参数需要对应修改,如下图(看注释):

如果选择了自己的驱动就需要把四个接口函数填上,(笔者没有选择这种方式)

 

9、初始化函数添加进去,(添加你自己的TFT初始化函数)如下图:

因为笔者没有采用选择LCD驱动的方式,所以需要修改下面的函数了,如果选择那种方式就不用了。

打开

文件。

1.添加画点函数,如下图:

2.添加你的读点函数,如下图:

3.快速填充函数,如下图:

说明:

以上函数添加完之后,基本就一直完成了。

(为了提高速度,读者可以根据自己的实际情况将上述自己的文件改成内敛函数,或者展开在里面),关于优化和提速这个各位就各显神通吧,当然要熟读快还是选择FSMC方式。

二、进入主函数,包含头文件。

Voidmain()

{

BSPinit();

GUI_Init();

GUI_DispStringAt("DesignByAndy",30,50);

}

说明:

BSPinit()中必须开启CRC时钟,

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE);否则不能显示。

这好像是ST防盗用的手段,具体情况不深究。

是不是液晶屏已经点亮正常显示了呢?

如果没能正常显示,就找找原因哦!

一定会成功的。

下面移植Demo让STemwin跑起来,

1.将demo添加进工程,如下图:

2.主函数包含demo的头文件,“GUIDEMO.h”

3.为demo分配心跳(节拍)。

主函数中添加:

SysTick_Config(SystemCoreClock/1000);然后找到Systick的ISR函数,添加心跳,如下,OS_TimeMS记得申明一下:

extern__IOint32_tOS_TimeMS;

4.进入主函数,添加demomain,如下:

5.打开GUI_DEMO.H打开相应的开关,根据自己的内存选择,不要开太多了,如下:

下载程序,是不是已经跑起来了呢。

附上一张我的图

至此,stemwin已经移植完毕,这里只是将demo移植完毕跑起来了,更多的界面设计还需要我们自己去摸索。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2