[活动] 【APM32F107VCT6 MINI开发板测评】+RT-Thread U8G2

[复制链接]
 楼主| 夜声 发表于 2023-2-18 00:22 | 显示全部楼层 |阅读模式
本帖最后由 夜声 于 2023-2-18 00:30 编辑
U8G2移植

一、前言

本篇文章将U8G2在MDK环境移植到APM32F107VCT6开发板,记录移植过程并通过OLED显示屏显示,OLED屏使用软件IIC的方式实现,OLED显示屏使用软件IIC跑也特别快,足够使用。

二、U8G2简介
U8g2 是一个用于嵌入式设备的简易图形库,可以在多种 OLED 和 LCD 屏幕上,支持包括 SSD1306等多种类型的底层驱动,并可以很方便地移植到 Arduino 、树莓派、NodeMCU 和 ARM 上。
官网链接:https://github.com/olikraus/u8g2
U8g2 库同时包含了 U8x8 绘图库,两者的区别为:
U8g2 包含各种简单及复杂图形的绘制,并支持各种形式的字体,但需要占用一定单片机的内存作为绘图缓存
U8x8 只包含简单的显示文本功能,且只支持简单、定宽的字体。它直接绘制图形,没有缓存功能
1.png

同时官方也有文档使用移植说明:
2.png

三、移植准备
使用RTT提供的基本程序:
3.png

OLED移植主要进行GPIO的初始化以及引脚定义修改。
4.png

引脚定义修改:
5.png

主函数添加OLED初始化程序:
6.png


五、移植过程
下载U8G2源码后,解压后关注csrc,这个是源码文件夹。
7.png

KEIL添加源码,的u8g2_d_xxx的文件选择自己对应型号即可。
8.png

添加头文件路径:
9.png

源码修改,主要是u8g2_d_memory.c与 u8g2_d_setup.c 这两个文件,在u8g2_d_setup.c中选择自己屏幕对应的型号,其他的屏蔽掉。

10.png


u8g2_d_memory.c中取消注释uint8_t *u8g2_m_16_8_f(uint8_t*page_cnt)函数,其他关闭。

11.png

显示程序:
15.png

显示程序,通过命令触发:
16.png

六、总结
本篇文章已经完成u8g2的移植,其关键的地方在于IIC接口与u8g2的对接,RTT用起来也非常的顺手,结果如下:

17.jpg


timfordlare 发表于 2023-3-4 20:53 | 显示全部楼层
用LCD12864U8g2显示中文乱码
pmp 发表于 2023-3-4 21:31 | 显示全部楼层
使用的硬件iic的代码有吗?              
phoenixwhite 发表于 2023-3-4 22:12 | 显示全部楼层
单片机能用u8g2吗?               
wilhelmina2 发表于 2023-3-5 10:39 | 显示全部楼层
兼容arduino的操作?              
51xlf 发表于 2023-3-5 11:06 | 显示全部楼层
是否有freertos相关的代码
modesty3jonah 发表于 2023-3-5 11:12 | 显示全部楼层
这个可以移植相关的代码过来的吗?
plsbackup 发表于 2023-3-7 14:05 | 显示全部楼层
RT-Thread占用多大的内存?
wengh2016 发表于 2023-3-7 19:44 | 显示全部楼层
RT-Thread的库代码真是丰富。
jtracy3 发表于 2023-3-7 21:02 | 显示全部楼层
用LCD12864U8g2显示中文乱码
houjiakai 发表于 2023-3-7 21:39 | 显示全部楼层
可以移植U8G2到lcd彩色屏幕上吗?
iyoum 发表于 2023-3-9 12:37 | 显示全部楼层
可以在RT-Thread studio开发了吗?
lzmm 发表于 2023-3-10 12:58 | 显示全部楼层
这个只能使用用在iic接口的oled吗
usysm 发表于 2023-3-10 13:53 | 显示全部楼层
单片机能用u8g2吗?               
loutin 发表于 2023-3-10 17:05 | 显示全部楼层
使用的硬件iic的代码有吗?              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

89

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部

27

主题

89

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部