STM32移植U8g2实验

本文是根据下面这篇文章一步一步来做的,最终也是实现了效果。

基于STM32移植U8g2图形库——OLED显示(HAL库)_stm32 u8g2-CSDN博客

        大家可以按照该博客一步步来写,中途中也是出现了一些细节上的问题,比如作者在文件中加入了delay函数,但是没有给出定义,遇到这个问题自己写出delay函数即可。

        其它比较麻烦的就是添加文件,需要添加和删除的文件太多了,过程比较容易出错,这里来简单讲解一下。

        找到上侧的三个方块,这样能加入u8g2源文件进左侧目录中。        

        由于u8g2代码较多,内存较大,stm32c8t6不能存储这么大,而且很多代码都是用不上的,比如其它型号单片机的u8g2代码,因此得删除很多文件,按照上面转载的博客一步一步删除就行了。

        当所需文件都添加进左侧目录内,我们还需添加上刚才添加的文件的文件路径,以便keil编译器在编译代码能够识别添加文件的路径。

 确保所有包含u8g2文件的文件夹路径按照上面添加进去再进行下一步。

所有代码都添加进去了,然后写一下代码看看效果。

void myTest(u8g2_t *u8g2)
{
	u8g2_ClearBuffer(u8g2); 
	u8g2_SetFontDirection(u8g2, 0);
  u8g2_SetFont(u8g2, u8g2_font_inb24_mf);
	u8g2_DrawStr(u8g2,30, 50, "this");
	u8g2_SendBuffer(u8g2);
	SEND_BUFFER_DISPLAY_MS(u8g2,1000);
}

 最后效果:

注意显示字符串要先设置字体才显示出来。

除此之外,u8g2的功能也是非常的多,画圆、半圆、矩形、实心矩形。

如果想做动画,可以借助取模软件将动画一帧一帧的取模,转换成01矩阵保存在代码的数组中,然后调用不同数组加上delay函数即可实现动画效果,大家可以去尽情探索。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!对于将 U8g2 移植STM32 上,你需要按照以下步骤进行操作: 1. 首先,确保你已经安装了适当的开发环境,包括 STM32CubeMX 和 STM32Cube HAL 库。如果没有,请先下载和安装它们。 2. 打开 STM32CubeMX,并创建一个新的工程。选择适合你的 STM32 芯片型号,并配置所需的引脚和外设。 3. 在 "Middleware" 部分中,找到 "Graphics" 并选择 "U8g2"。 4. 根据你的需求选择所需的显示屏控制器和接口类型。U8g2 库支持多种不同的控制器和接口。 5. 在 "Configuration" 选项中,配置 U8g2 库的其他参数,比如显示屏分辨率、字体等。 6. 生成代码并打开工程。 7. 在生成的代码中,找到 "main.c" 文件,并添加以下代码来初始化 U8g2 库: ```c #include "u8g2.h" u8g2_t u8g2; int main(void) { // 初始化代码 u8g2_Setup_<Controller>_<Interface>_u8g2(&u8g2, <rotation>, <u8x8_byte_fn>, <u8x8_gpio_and_delay_fn>); u8g2_InitDisplay(&u8g2); // 其他初始化代码 while (1) { // 显示内容更新代码 } } ``` 注意替换 `<Controller>` 和 `<Interface>` 为你选择的控制器和接口类型。`<rotation>` 是显示屏旋转角度,`<u8x8_byte_fn>` 和 `<u8x8_gpio_and_delay_fn>` 是用于与硬件通信的函数指针。 8. 在 `while (1)` 循环中,你可以使用 U8g2 库提供的函数来更新显示屏上的内容。 这只是一个简单的示例,你可能还需要根据具体需求进行其他配置和修改。请参考 U8g2 的文档和示例代码来了解更多细节。希望对你有帮助!如果你有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值