1.准备emwin仿真文件
下载仿真文件,链接:https://www.segger.com/downloads/emwin
2.用VS2017打开SimulationTrial.sln开始仿真,详情如下图所示:
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
效果如下图所示:
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开始调试运行,效果如下所示:
6.2 同理,仿真其他的文件就按上面的方法把不需要的文件屏蔽,把需要的文件添加到生成中就可以仿真了。