obsidian-notes/代码/U8g2.md
CSSC-WORK\murmur 3e6078442b init version
2024-04-15 11:19:57 +08:00

1.6 KiB
Raw Permalink Blame History

title updated created tags
U8g2 2022-01-13 09:11:53Z 2022-01-08 13:18:07Z
u8g2

硬件

小屏为0.66寸的OLED分辨率64x48ssd1306通用驱动IC4线SPI控制内部BS1为0不可改IIC 构造函数u8g2_Setup_ssd1306_64x48_er_f可直接驱动 drawGlyph 绘制特殊文本图标,需联合特殊字体 取模软件zimo221.exe配置为“横向取模字节倒序”

内存占用

初步测试占用ROM约5k+

移植方法:

  1. 移植u8g2_gpio_and_delay_stm32
  2. 选择构造函数u8g2_Setup_ssd1306_64x48_er_f后缀f为全屏缓存。屏蔽其它构造函数针对MDKSTM32cubeide不用屏蔽
  3. 初始化u8g2_InitDisplay(&u8g2); // send init sequence to the display, display is in sleep mode after this,
  4. 唤醒屏幕u8g2_SetPowerSave(&u8g2, 0); // wake up display
  5. 屏蔽u8g2_d_memory.c根据报错打开相应函数针对MDKSTM32cubeide不用屏蔽
  6. 设置字体u8g2_SetFont(&u8g2,u8g2_font_5x7_mr);//字体文件不用屏蔽
  7. 输出u8g2_DrawStr(&u8g2,0,14,"123abcABC");
  8. 更新屏幕u8g2_SendBuffer(&u8g2);

函数详解

u8g2_SetDrawColor参数详解

0-清像素模式即0代表亮

1-写像素模式即1代表亮

2-XOR模式与当前像素点异或

灵活利用此参数可实现诸多功能

局部清背景,示例参见非等宽字体在固定坐标刷新 0.91' OLED显示#刷新问题

局部反显,示例参见当前 0.91' OLED显示#数字反显

#u8g2