STemwin替换为MDK下的emwin
想在别的芯片上跑原先的功能和界面,便于移植,因为之前的产品用的STemwin,STemwin需要下面的操作:
/* 使能CRC校验, 用于开启STemWin的使用 */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE);
所以,举个例子,ST的芯片换Pin2Pin的GD32,GUI将不能使用,有两种方式,可以用ucGUI来做,也可以将之前的STemwin替换为MDK下的emwin,后者更方便快捷一些
那就开始吧~
1.在这之前首先确保MDK注册了这个东西:
和谐方式同软件和谐方法
2.我们在MDK文件夹下找到下面两个文件夹
Include下全部复制
Lib文件夹下,这里只复制对应你处理器的lib文件即可,我是F103,所以选择CM3
3.替换我们之前STM32emwin工程文件中的
这两个文件夹,个人命名方式不同,对比文件夹下内容找到对应文件夹即可
(替换之前记得备份之前的,以免操作不当)
4.替换完成之后,在工程下发现之前GUI_Lib下的Lib文件失效,remove掉,添加新的Lib文件,直接编译,成功!
注:文章主要是有一个地方需要说明,我是裸机做的,所以当你添加MDK下的库文件和头文件的时候,他的文件里面会默认在GUI.h下声明四个和OS相关的函数,所以替换完成之后,如果你的程序之前是没有跑系统的,会有四个错误:
这个错误不可怕,我们追溯下,就能发现:
GUI.h是只读文件,里面也没有我们需要修改的参数,所以我们保险起见不去动这个文件,我们在main.c中或者其他.c文件中手动添加这四个函数,内容为空(我们没用到系统,所以不会有影响)即可:
编译.........
又见到了熟悉的 - 0 Error(s), 0 Warning(s).