|
EMWIN中顯示中文
該方法使用的FONTCVT工具生成子庫的方式,針對少量中文的顯示會很方便。
步驟一
:創(chuàng)建文本文檔并將需要支持的中文漢子輸入到文檔中。漢子是按照編碼來獲取的,所以相同漢子不需要重復輸入。如下圖所示:
clipboard.png (2.76 KB, 下載次數(shù): 46)
下載附件
2020-2-7 18:19 上傳
步驟二:
修改文本文檔的編碼方式并保存,此處修改編碼方式使用的notepad++,修改為下圖的編碼格式(UCS-2-Little Endianb編碼)。編碼方式不對時,會出現(xiàn)下圖的提示,文件會導入失敗。修改完編碼格式后文件就準備就緒了。
2.png (57.26 KB, 下載次數(shù): 42)
下載附件
2020-2-7 18:21 上傳
3.png (138.48 KB, 下載次數(shù): 38)
下載附件
2020-2-7 18:21 上傳
步驟三:
下面進行字庫軟件的配置,打開FontCvt軟件按下圖進行設置。顯示中文,Encodeing必須選擇"16 Bit UNICODE";字體選擇也必須是包含中文的(微軟雅黑、宋體等均可)。軟件打開后,默認包含所有文字。點擊“Edit-> Disable all characters”菜單,不包含任何字體。(Tips:白色背景為選中文字,灰色背景為未選中文件)
4.png (12.6 KB, 下載次數(shù): 45)
下載附件
2020-2-7 18:21 上傳
5.png (36.63 KB, 下載次數(shù): 29)
下載附件
2020-2-7 18:21 上傳
6.png (21.32 KB, 下載次數(shù): 24)
下載附件
2020-2-7 18:21 上傳
步驟四:
下面開始導入字庫文件,也就是步驟一、二產(chǎn)生的Txt文件。 回到FontCvtST.exe軟件,單擊“Edit->Read pattern file ...”后,選中txt文本文檔
(Tips:如果彈出“The following character codes found in ...”的對話框,是因為txt文檔的編碼方式?jīng)]有選擇對)
7.png (16.53 KB, 下載次數(shù): 44)
下載附件
2020-2-7 18:21 上傳
步驟五:
單擊“File -> Save As ...” 生成一個“yahei20.c”的文件,將該文件添加到我們的工程里。添加到工程后,如下圖所示,再c文件的開頭會有一個字庫文件extern GUI_CONST_STORAGE GUI_FONT GUI_Fontyahei20;
8.png (8.68 KB, 下載次數(shù): 38)
下載附件
2020-2-7 18:21 上傳
9.png (85.84 KB, 下載次數(shù): 50)
下載附件
2020-2-7 18:21 上傳
步驟六:
使用字庫文件方法如下圖所示,有兩種情況,如果keil工程的編碼格式為UTF-8,此時想要顯示中文只需要直接輸入中文就可以調(diào)用,如下所示
10.png (55.72 KB, 下載次數(shù): 41)
下載附件
2020-2-7 18:21 上傳
- extern GUI_CONST_STORAGE GUI_FONT GUI_Fontyahei20; //聲明字體
- int main(void)
- {
- SetSysClockInternal(); //使用內(nèi)部時鐘
- SysTick_Init();
- NVIC_Configuration();
- PeriIO_Init();
- OLED_Config();
- I2C_GPIO_Init();
- uart1_init(115200);
- BME280_init();
-
- RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE);//開啟CRC用于emwin
- WM_SetCreateFlags(WM_CF_MEMDEV);
- GUI_Init();
-
- GUI_SetFont(&GUI_Fontyahei20);
- GUI_UC_SetEncodeUTF8();
- GUI_DispStringAt("壓強",0,20); //通過keil軟件自己的編碼來顯示漢子
- GUI_DispStringAt("溫度",20,20);
- GUI_DispStringAt("濕度",40,20);
- }
復制代碼
如果keil工程的編碼格式不是UTF-8,想要顯示漢子,需要先通過U2C軟件得到漢子的UTF8編碼,然后通過編碼值來顯示漢子。比如想要顯示漢子“壓強”,新建文本文檔,輸入漢子“壓強”,保存文件為UTF-8格式,然后通過軟件U2C打開剛剛保存的文件,點擊轉換會在同路徑下生成一個同名的.c文件。然后點擊close。打開.c文件里面就是漢子對應的編碼值,如壓強生成的編碼值就是"\xe5\x8e\x8b\xe5\xbc\xba"。顯示漢子時只需要將上面的壓強漢子換成對應的編碼值即可,如下代碼所示
11.png (180.74 KB, 下載次數(shù): 45)
下載附件
2020-2-7 18:21 上傳
12.png (20.5 KB, 下載次數(shù): 36)
下載附件
2020-2-7 18:21 上傳
13.png (6.99 KB, 下載次數(shù): 42)
下載附件
2020-2-7 18:21 上傳
- extern GUI_CONST_STORAGE GUI_FONT GUI_Fontyahei20; //聲明字體
- int main(void)
- {
- SetSysClockInternal(); //使用內(nèi)部時鐘
- SysTick_Init();
- NVIC_Configuration();
- PeriIO_Init();
- OLED_Config();
- I2C_GPIO_Init();
- uart1_init(115200);
- BME280_init();
-
- RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE);//開啟CRC用于emwin
- WM_SetCreateFlags(WM_CF_MEMDEV);
- GUI_Init();
-
- GUI_SetFont(&GUI_Fontyahei20);
- GUI_UC_SetEncodeUTF8();
- GUI_DispStringAt("\xe5\x8e\x8b\xe5\xbc\xba",0,20); //通過編碼值顯示漢子,顯示壓強
- }
復制代碼
該說明使用工具如下,可以在附件中下載
|
-
clipboard.png
(2.76 KB, 下載次數(shù): 64)
下載附件
2020-2-7 18:21 上傳
-
-
工具.zip
2020-2-7 18:25 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
241.89 KB, 下載次數(shù): 22, 下載積分: 黑幣 -5
評分
-
查看全部評分
|