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).

原文地址:https://www.cnblogs.com/eva0/p/6574156.html