[活动] 【APM32F411V Tiny Board测评】003测试点亮OLED

[复制链接]
 楼主| 你也喜欢睡觉 发表于 2024-5-21 21:53 | 显示全部楼层 |阅读模式
前言:
前面两篇内容简单测试了开发板点灯和使用RT-Thread Studio创建工程
这次使用RT-Thread Studio来添加u8g2软件点亮OLED屏幕
硬件环境:
APM32F411VET6
RT-Thread Studio 版本: 2.2.7
rt-thread 系统版本: 5.0.2
芯片支持包版本: 0.2.2
0.96寸4线IIC通信OLED: ssd1306驱动芯片
软件包u8g2-official: latest
软件程序:
软件包配置
PixPin_2024-05-21_21-49-25.jpg
ssd1306_12864_sw_i2c_example.c
  1. static void u8g2_ssd1306_12864_sw_i2c_example(int argc,char *argv[])
  2. {
  3.     u8g2_t u8g2;

  4.     // Initialization
  5.     u8g2_Setup_ssd1306_i2c_128x64_noname_f( &u8g2, U8G2_R0, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6.     u8x8_SetPin(u8g2_GetU8x8(&u8g2), U8X8_PIN_I2C_CLOCK, OLED_I2C_PIN_SCL);
  7.     u8x8_SetPin(u8g2_GetU8x8(&u8g2), U8X8_PIN_I2C_DATA, OLED_I2C_PIN_SDA);   

  8.     u8g2_InitDisplay(&u8g2);
  9.     u8g2_SetPowerSave(&u8g2, 0);

  10.     // Draw Graphics
  11.     /* full buffer example, setup procedure ends in _f */
  12.     u8g2_ClearBuffer(&u8g2);
  13.     u8g2_SetFont(&u8g2, u8g2_font_ncenB08_tr);
  14.     u8g2_DrawStr(&u8g2, 1, 18, "U8g2 on RT-Thread");
  15.     u8g2_DrawStr(&u8g2, 1, 36, "APM32F411");
  16.     u8g2_DrawStr(&u8g2, 1, 54, "21ic");
  17.     u8g2_SendBuffer(&u8g2);

  18.     u8g2_SetFont(&u8g2, u8g2_font_unifont_t_symbols);
  19.     u8g2_DrawGlyph(&u8g2, 112, 56, 0x2603 );
  20.     u8g2_SendBuffer(&u8g2);
  21. }
  22. INIT_APP_EXPORT(u8g2_ssd1306_12864_sw_i2c_example);
运行演示:
freecompress-1716294988016.jpg
szt1993 发表于 2024-5-23 16:59 | 显示全部楼层
点亮OLED十分有利于可视化操作
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

7

帖子

0

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