之前没有用过OLED来显示汉字,今天心血来潮想做一个RTC的万年历,想着就用OLED来用汉字显示一下,(stm32万年历制作链接:点击打开链接),之前想的确实很简单,不就是制作字模然后调用显示嘛!但是今天还是用了很久,原因在于我是真的不知道怎么正确产生字模,最后还是弄出来了,但是在百度过程中没有发现有一个具体的教程,所以自己写一个,来帮助自己记忆和他人使用。
首先说我试过的软件:
软件1:
用起来挺好用,但是博主实在不知道怎么设置,都试了一遍但从没正确产生过,不过使用过程还是给大家说一下,如果有大神知道为什么我产生的都是乱码还请大神指教:
1.右键管理员身份运行(因为有时会报错)
这是3的参数设置,一般oled中我们汉字16*16,字体选择宋体,字号12号
点了4之后
.c文件记事本打开就行,字模生成。
软件2:
这个使用就比较简单了,使用方法:
PS:修正,要先结束文字输入再点取模方式。
软件3:(推荐)
使用步骤:
生成字模,这个软件十分好用,所以极力推荐。
然后我们只用把字摸复制到代码中就可以调用了
调用函数:
void OLED_ShowCHinese(u8 x,u8 y,u8 no)
{
u8 t,adder=0;
OLED_Set_Pos(x,y);
for(t=0;t<16;t++)
{
OLED_WR_Byte(Hzk[2*no][t],OLED_DATA);
adder+=1;
}
OLED_Set_Pos(x,y+1);
for(t=0;t<16;t++)
{
OLED_WR_Byte(Hzk[2*no+1][t],OLED_DATA);
adder+=1;
}
}
//实例调用
OLED_ShowCHinese(28,0,0);//电
效果图: