[EMWIN] 多国语言实现方法---csv文件实现

2 篇文章 0 订阅

目录

前期准备:

第一步:生成csv文件

第二步: 生成c文件

第三步: 生成对语言字库:

第四步:把文件加载到模拟器中

第五步:多语言环境准备

第六步: 使用函数进行调用

附录:


 

前期准备:

PC: win7X64 vs2013 微软自带的微软雅黑字体

emwin 相关:emwin5.42模拟器,emwin5.42英文手册, Bin2C.exe FontCvt.exe 

 

第一步:生成csv文件

excel中的内容:

 

 ①新建txt文件,另存为utf-8格式; ②复制excel中的内容到txt中,将 制表符 替换为 英文的逗号 ,并保存 ; ③将txt文件更改后缀名为 csv;

④得到如下文件(tmp1.csv):

 

第二步: 生成c文件

使用emwin的 Bin2C.exe 软件,将上一步的 tmp1.csv 装换为 tmp1.c 文件;

其内容为一个大数组:

bin2c.exe : 下载地址: http://dl.pconline.com.cn/download/766925-1.html

 

第三步: 生成对语言字库:

①记事本打开 tmp1.csv ,且另存为文件为Unicode格式的 tmp1.txt 文件;

②使用 tmp1.txt 文件通过FontCvt.exe 生成字库请详见安富莱教程: http://bbs.armfly.com/read.php?tid=6481

 ③通过②步骤得到 WRYHLight19_10_4bpp.c 字库文件.

 

第四步:把文件加载到模拟器中

 

① 点击打开 tmp1.c 之后, 将 actmp1 数组改为静态数组,且定义两个全局变量:

这里需要注意下: 使用 const 的数组,在后续步骤会使emwin奔溃,可能是emwin需要修改原数组.

 

②在数组最后增加函数:

 

 

第五步:多语言环境准备

① 复制文件 tmp1.xlsx 到一个新的文件   有序号的tmp1.xlsx, 增加序号,等会使用多语言的时候有用.

②在 MainTas.c 中将①中的序号定义为 enum 类型

③多语言宏定义

根据excel定义三个语言的宏定义

 

④初始化多语言使用环境

三个函数:

使用多语言注册 emwin的 utf-8 : GUI_UC_SetEncodeUTF8();

然后就是之前多语言的函数 : void getLanguageInfo(unsigned char** pLan, unsigned int* pLanCnt)

最后是导入多语言到emwin中 : int GUI_LANG_LoadCSV(char * pFileData, U32 FileSize);

 

 

GUI_LANG_LoadCSV 的相关内容在 emwin5.42 手册的 P1135 ,使用函数  GUI_LANG_LoadCSV 

 注意:在这里如果使用函数GUI_LANG_LoadCSV的 pFileData  为const 类型,会使emwin 奔溃.切记!!!

 

第六步: 使用函数进行调用

使用 GUI_LANG_GetTextEx 进行调用emwin中的多语言数据.

GUI_LANG_GetTextEx 函数相关见手册 P1137.

 

附录:

1.文中源码和相关文件,由于软件有版权的问题,请自己自行百度,或者在st的固件库文件中有:

 

2.代码地址: 链接:http://pan.baidu.com/s/1bpItz0j 密码:uedt

3.官方例程: http://bbs.armfly.com/read.php?tid=5681 (已失效)

 

 

 

 

 

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
安富莱_STM32-V6开发板 emWin教程(v2.0) 安富莱_STM32-V6开发板是一款基于STM32系列芯片的开发板,搭载emWin图形库,版本为v2.0。emWin是一种灵活、高效的嵌入式图形界面库,可以在各种嵌入式系统中用于开发用户界面。 emWin教程(v2.0)为用户提供了详细的使用指南,使他们能够快速上手并成功运用emWin库开发功能强大的图形界面。 教程主要包括以下内容: 1. emWin库的基本概念:介绍emWin库的功能和特点,包括图形绘制、文本显示、控件等。 2. 开发环境准备:教程会详细指导用户在使用STM32-V6开发板前需要做的准备工作,如下载安装MDK-ARM集成开发环境、配置开发板等。 3. 库安装和配置:教程会指导用户如何将emWin库正确安装到MDK-ARM开发环境中,并进行相关配置。 4. 图形界面设计:详细介绍如何使用emWin库进行图形用户界面设计,包括界面布局、界面元素自定义、触摸屏交互等。 5. 控件使用:指导用户如何使用emWin库中的各种控件,如按钮、滑动条、列表框等,以实现丰富的用户交互。 6. 网络功能集成:教程还会介绍如何在emWin图形界面中集成网络功能,如实现网络连接、数据传输等。 7. 实例演示:教程会提供一些实例演示代码,帮助用户更好地理解和掌握emWin库的使用方法。 通过学习emWin教程(v2.0),用户可以掌握emWin库的基本使用方法,了解如何设计和开发功能丰富的嵌入式图形界面。同时,用户还可以通过实例演示进一步加深对emWin库的理解,并在实际应用中灵活运用。 总之,安富莱_STM32-V6开发板emWin教程(v2.0)是一份全面、详细的指南,非常适合想要学习并使用emWin库进行嵌入式图形界面开发的开发者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值