emWin图形库由德国SEGGER公司开发的嵌入式GUI。用STM32及NXP系列MCU设计时,可以免费获得编译好的emWin库。
emWin默认是不支持中文显示的,如果要用到中文显示,只有自己添加了。
在工程中添加如下几个文件:ASCII_CODE.c、GUI_Font.c.、GUI_UC_EncodeNone.c、GUICharPEx.c。
在ASCII_CODE.c中写入如下两个数组用与存储对应汉字字体的半角ASCII字符点阵:
const unsigned char ASCII_08X16[95][16]= {1608ASCII字符点阵码,对应16X16汉字};
const unsigned char ASCII_12X24[95][48] = {
2412ASCII字符点阵码,对应24X24汉字};
在GUI_Font.c文件中填入以下代码:
#include "GUI.H"
#ifndef GUI_FLASH
#define GUI_FLASH
#endif
#define HZ_16X16 0x00000 //16x16汉字字库在FALSH中存储的偏移地址
#define HZ_24X24 0x40000 //24x24汉字字库在FALSH中存储的偏移地址
extern void GUIPROP_HZ_DispChar(U16P c);
extern int GUIPROP_HZ_GetCharDistX(U16P c, int * pSizeX);
extern const unsigned char ASCII_08X16[95][16];
extern const unsigned char ASCII_12X24[95][48];
GUI_CONST_STORAGE GUI_CHARINFO GUI_FontHZ_CharInfo