OLED之U8g2中文库使用

本文详细介绍了如何在STM32平台上使用U8g2图形库配合SSD1306 OLED显示屏显示中文。首先,你需要准备中文字体文件、U8g2源码和GUITool字体生成工具。接着,通过汉字转Unicode在线转换生成.map文件,使用GUITool生成.bpf字库文件,并创建.bat批处理文件进行编译。最后,在代码中引入生成的字体文件并使用u8g2_DrawUTF8函数显示中文。注意,可能需要在字符串后添加空格以避免编译错误。


前言

最近有项目用到OLED显示屏,然后经过选择采用了U8g2的图形库。

硬件平台: STM32Fxxx + OLED(SSD1306)
驱动库:U8g2

提示:以下是本篇文章正文内容,下面案例可供参考

一、准备文件

开始之前先新建一个文件夹所有的文件都在这文件夹中操作,我这里新建一个font,名字随意。
在这里插入图片描述

1、中文字体文件

本地字体文件路径: C:\Windows\Fonts,如果想要其他酷炫的字体可以网上下载。然后将字体文件放入刚刚新建的font文件夹中
在这里插入图片描述 在这里插入图片描述

2、U8g2源码

下载U8g2的源码:GitHub上下载, 点击这里下载。

在这里插入图片描述之后解压,后面备用
在这里插入图片描述

3、GUITool字体生成工具

下载GUITool工具: 点击这里下载。

二、使用步骤

1.准备.map文件

汉字转Unicode在线转换,将需要显示的汉字转换成Unicode
点击这里

在这里插入图片描述然后修改成下面的格式,
在这里插入图片描述
32-128表示ASCII字符范围,然后另存为一个.map文件格式,这里我保存为
u8g2_myfont_chinese.map

在这里插入图片描述

2.生成.bpf字库文件

打开字体工具
在这里插入图片描述选中准备好的字体文件,生成字库
在这里插入图片描述

3.准备.bat批处理文件

将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

在这里插入图片描述
在这里插入图片描述

4.代码中使用

由于U8g2_fonts.c内容太多我们就不添加自己的字体文件进去,我们直接将生成的字体文件添加进工程,同时.h文件不要忘记包含 #include “u8g2.h”,否则编译不过。
在这里插入图片描述

另外,函数使用u8g2_DrawUTF8时由于编码的原因,我的keil里需要在中文字符串后面加一个空格,否则显示不正常,编译也会报错。

u8g2_DrawUTF8(u8g2,16,25,"电子技术有限公司 ");//

在这里插入图片描述

总结

例如:以上就是今天要讲的内容,本文仅仅简单介绍了U8g2中文字库的使用,希望各位看官点赞关注一波。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YZW0123

谢谢大家的支持,请关注我哦!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值