stm32f103移植u8g2(硬件I2C)
芯片型号:stm32f103zet6;hal固件库版本:V1.8.5
移植过程主要参考这篇博客:https://www.cnblogs.com/frozencandles/p/16358483.html
但是涉及到下面两个函数的时候:
1 uint8_t u8x8_gpio_and_delay_hw(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr) 2 3 uint8_t u8x8_byte_hw_i2c(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)
写的不是很好,参考了另外一篇博客:https://blog.csdn.net/weixin_42150905/article/details/118108327
刚开始我的所有字库按照第一篇博客删掉了,又参考了另外一篇博客:
https://blog.csdn.net/qq_52286922/article/details/131033961
加入了三个字库:
uint8_t u8g2_font_inb30_mn[807] uint8_t u8g2_font_inb24_mf[8821] uint8_t u8g2_font_4x6_tr[723]
参照最后一篇,写了测试程序,英文字符显示没有问题。
但最终,需要显示中文。为了构建最小的软件包,我们需要制作自己的中文字库,参照如下:
https://blog.csdn.net/keysaure/article/details/128820560
经过测试,完美。
移植U8G2的源程序包地址:https://gitee.com/njit-sam/stm32-i2c-oled-u8g2
里面包含个人字库文件
在显示图片的时候,总是出现问题,混乱,下面给出一个图片转码工具:
https://tools.clz.me/image-to-bitmap-array
在使用的时候,这个选项务必要勾选上
不然会出问题。显示图片示例代码:
1 u8g2_ClearBuffer(&u8g2); 2 u8g2_DrawXBM(&u8g2, 48, 15, 32, 32, col);//col是图片数组 3 u8g2_SendBuffer(&u8g2); 4 delay_ms(1000);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?