移植过程:
移植可以参考这一篇文章,https://blog.csdn.net/huyubin/article/details/77193538.
这里重点说一下需要注意的两个地方,:
一 、驱动对接,
上述的文章 只是这个文章并没有讲清除驱动的对接。驱动对接又两种方式,第一种是完全不用STemwin的接口,使用我们自己的,这就是驱动我们常用的画点画线函数,,第二种方法是直接填充STemwin的画点等相关函数。 那么怎么来选择,STemWin 采用了一个函数来配置,LCDConf_FlexColor_Template.c 中的LCD_X_Config函数中的GUI_DEVICE_CreateAndLink接口。 如果是用自己的,那就GUI_DEVICE_CreateAndLink(&GUIDRV_Template_API, GUICC_M565, 0, 0); 这一点非常重要,我当时没注意 浪费了好几天。GUIDRV_Template_API里边就是你要填充的函数。具体的不多说, 可以看一下:https://blog.csdn.net/wangyijieonline/article/details/76795084。
另外,高版本的STemWin 没有集成PNG库,我在使用过程中还调用了PNG接口,发现PNG需要自己去下载,https://www.segger.com/downloads/emwin/emWin_png, 这个是下载地址,下下来之后按照正常的方式添加Keil ,编译即可。
二、CRC启用,
emWin 的程序 如果需要正常运行, 需要启动CRC时钟,如果不开启,程序再调用GUI_Init 就死了,没动静了。对于F103 需要在GUI_Init之前调用:
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE);
F407 调用: RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC,ENABLE);//