最近有项目用到OLED显示屏,然后经过选择采用了U8g2的图形库。
硬件平台: STM32Fxxx + OLED(SSD1306)
驱动库:U8g2
提示:以下是本篇文章正文内容,下面案例可供参考
开始之前先新建一个文件夹所有的文件都在这文件夹中操作,我这里新建一个font,名字随意。
本地字体文件路径: C:\Windows\Fonts,如果想要其他酷炫的字体可以网上下载。然后将字体文件放入刚刚新建的font文件夹中
下载U8g2的源码:GitHub上下载, 点击这里下载。
之后解压,后面备用
下载GUITool工具: 点击这里下载。
汉字转Unicode在线转换,将需要显示的汉字转换成Unicode
点击这里
然后修改成下面的格式,
32-128表示ASCII字符范围,然后另存为一个.map文件格式,这里我保存为
u8g2_myfont_chinese.map
打开字体工具
选中准备好的字体文件,生成字库
将bdfconv.exe从U8g2的源码拷贝到自己创建的文件夹中
新建一个conv.bat批处理文件,名称随意
bdfconv.exe -v -b 0 -f 1 simhei_U16.bdf -M u8g2_myfont_chinese.map -n u8g2_myfont_chinese -o u8g2_myfont_chinese.c -d simhei_U16.bdf
由于U8g2_fonts.c内容太多我们就不添加自己的字体文件进去,我们直接将生成的字体文件添加进工程,同时.h文件不要忘记包含 #include “u8g2.h”,否则编译不过。
另外,函数使用u8g2_DrawUTF8时由于编码的原因,我的keil里需要在中文字符串后面加一个空格,否则显示不正常,编译也会报错。
u8g2_DrawUTF8(u8g2,16,25,"电子技术有限公司 ");//
例如:以上就是今天要讲的内容,本文仅仅简单介绍了U8g2中文字库的使用,希望各位看官点赞关注一波。