您的位置:首页 > 其它

COIDE下STemwin移植教程

2016-01-09 18:04 204 查看
本次教程需要使用CoOS和重定向printf,这两个都可以在本博客找到教程:CoOS使用教程,COIDE下重定向printf

接下来就可以移植STemwin了,先添加一些需要的组件,如下图所示。



删掉LCDConf_Lin_Template.c、LCDConf_Lin_Template.h、GUI_X_FreeRTOS.c、GUI_X.c这四个文件,剩下的文件如下图所示。



因为CoOS和STemwin在定义类型别名上,有部分重复定义了,所以得在CoOS.h上修改一下(Global.h是STemwin定义的类型别名头文件)。



修改GUIConf.c中开辟的内存用量,这里是50KB。



修改LCDConf_FlexColor_Template.h文件,如下图所示。



修改LCDConf_FlexColor_Template.c文件。以下五个函数都比较简单,在裸机开发的LCD也会用到。











然后在LCD_X_DisplayDriver函数中插入LCD的初始化函数,这里是ILI9325_Init(),这个函数包含了对GPIO、FSMC、LCD的初始化。具体的函数内容就不贴出来了,不同的芯片会有点不一样。



在LCD_X_Config函数中,修改成如下图所示。



接下来需要把STemwin的LCDConf_FlexColor_Template.c、LCD_ConfDefaults.h、LCD_Private.h文件中的#include "LCDConf.h"语句全部修改为#include "LCDConf_FlexColor_Template.h"

然后在GUIDRV_Template.c文件中添加头文件#include "LCDConf_FlexColor_Template.h",接着在_SetPixelIndex函数内部添加画点的函数,这里是ILI_9325_Draw_Point,在_GetPixelIndex函数内部添加读点的函数。具体的函数内容就不贴出来了,不同的芯片会有点不一样。





至此,STemwin的移植部分全部完成,剩下的,就是使用它。修改main.c文件,如下图所示。





这里特别需要注意一点,要使用STemwin,必须打开CRC以校验芯片型号。

然后链接STemwin的库文件libSTemWin522_CM3_OS_GCC.a,最后,编译工程。



最终效果:串口1每隔1s发一次数据,LED不停闪烁,LCD上显示"hello world!"字符。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: