1.准备emwin仿真文件

    下载仿真文件,链接:https://www.segger.com/downloads/emwin

2.用VS2017打开SimulationTrial.sln开始仿真,详情如下图所示:

现在用emwin还是lvgl_#define

    

3.仿真打开后,会看到6个文件,具体含义如下:

Application:官方示例程序源码

Config:emwin及LCD的配置文件

GUI:emwin的库文件及库的头文件

sample:emwin官方针对各个功能块提供的使用例程

Simulation和外部依赖项:配置emwin运行环境等,不用理会

4.按下F5编译并运行整个工程,会出现一系列编译错误,解决步骤如下:

    1、 右键单击项目(如 simulationtrial) ->属性
    2、 选择配置为“所有配置”
    3、 选择配置属性>链接器>输入
    4、 设置忽略所有默认库选项为:“否”
    5、 设置忽略特定的默认库选项为:“LIBC.lib;LIBCMTD.lib”

    6、 选择配置属性>链接器>高级
    7、 设置映像具有安全异常处理程序选项为:“否(/SAFESEH:NO) ”

    8.点击确定,编译OK

    效果如下图所示:

现在用emwin还是lvgl_头文件_02

5.emWin仿真文件介绍

  5.1  Application文件

         我们在上一节中看到的绚丽的界面就是这些.C文件构成的,这些文件比较高级,不利于我们初学EMWIN,对EMWIN有一定的了解后再来看这些文件就会轻松很多。

5.2  Config文件

    GUIConf.c:主要给EMWIN分配内存

    GUIConf.h:用来配置以及裁剪EMWIN,比如是否支持操作系统、触摸、鼠标、窗口和存储设备等,设置显示层数、默认字体等。

    LCDConf.c:用来设置模拟LCD的大小,配置显示驱动和颜色转换格式等,这个文件我们最常修改的是两个宏

           #define XSIZE_PHYS  800
           #define YSIZE_PHYS  480

    SIMConf.c:不需要了解

5.3  GUI文件

    GUI文件就是EMWIN的真身了,这个文件里面是emwin源码生成的lib文件和相应的头文件,emwin已经不提供源码了,都是以lib文件形式给出的。GUI.lib只适用于PC平台,在移植emwin到STM32平台的时候不能使用这个lib文件,segger官方专门提供了针对Cortex-M系列的lib文件。但是这两个lib文件里的API函数是一样的,因此在PC上仿真通过的代码是完全可以在STM32平台上运行的。

5.4    Sample文件

    这个文件是segger针对各个小控件、功能做的演示例程,学习emwin主要就是学习这个文件里面代码。

 

6.  Sample文件单个仿真

6.1  Hello World!

   1. 由于默认运行的是Application中的例程,需先将Application中的代码屏蔽掉,把这些.c和.h文件从生成中排除掉,选中Application中的所有文件,右键-->属性-->“从生成中排除”选择“是”-->确定,完成屏蔽。

  2.将Sample中我们想要仿真的BASIC_HelloWorld.c文件添加到生成中。这里我们选中BASIC_HelloWorld.c,右键-->属性-->“从生成中排除”选择“否”-->确定,完成添加。

3.按F5开始调试运行,效果如下所示:

现在用emwin还是lvgl_右键_03

6.2   同理,仿真其他的文件就按上面的方法把不需要的文件屏蔽,把需要的文件添加到生成中就可以仿真了。