最近在玩stm32,看到很多oled丝滑的菜单都是基于u8g2开发的,于是就想把u8g2移植到stm32上面,昨天看各种资料学了一天,终于移植成功了,但是涉及显示中文却一直不成功,自己也自制了字库,还是不成功,于是我就去看u8g2的指令和一些函数,果然发现了问题,是:u8g2_SetFont(),这个函数的问题,如果想显示中文
里面的第二个参数要写对应字体的定义名,然后再在后面调用u8g2_Draw?()之类的画图,显示字符的函数就可以显示,我在GB的编译环境下也是成功编译成功显示的。
要注意的是第二个参数的定义名如果定义的东西非常多,那么对于一些芯片内存是不够的,会大量报错,我测试的是stm32f103c8t6这款芯片,有些显示中文的定义由于太大,不能用,这也造成了一些字体无法显示,.因为定义里面没有!不过字意可以平替倒是不影响使用。
字库的方法没有成功,即是我把生成的字库加入u8g2的定义处或者更改名字依旧报错。希望有人能够成功并不忘艾特我一下。
另外,我的移植是参考b站up主:科技爱科普,UID:394425633,一个8分钟的移植视频,我所用的基础工程是江协科大的工程模板。
希望对各位移植显示有帮助!