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

51 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: U8g2
updated: 2022-01-13 09:11:53Z
created: 2022-01-08 13:18:07Z
tags:
- 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`
1. 选择构造函数`u8g2_Setup_ssd1306_64x48_er_f`后缀f为全屏缓存。**屏蔽其它构造函数**。针对MDKSTM32cubeide不用屏蔽
1. 初始化`u8g2_InitDisplay(&u8g2)`; // send init sequence to the display, display is in sleep mode after this,
1. 唤醒屏幕`u8g2_SetPowerSave(&u8g2, 0)`; // wake up display
1. **屏蔽`u8g2_d_memory.c`**根据报错打开相应函数针对MDKSTM32cubeide不用屏蔽
1. 设置字体`u8g2_SetFont(&u8g2,u8g2_font_5x7_mr)`;//字体文件不用屏蔽
1. 输出`u8g2_DrawStr(&u8g2,0,14,"123abcABC")`;
1. 更新屏幕`u8g2_SendBuffer(&u8g2)`;
# 函数详解
`u8g2_SetDrawColor`参数详解
0-清像素模式即0代表亮
1-写像素模式即1代表亮
2-XOR模式与当前像素点异或
灵活利用此参数可实现诸多功能
**局部清背景**,示例参见非等宽字体在固定坐标刷新 [0.91' OLED显示#刷新问题](../信号源/0.91_%20OLED显示.md#刷新问题)
**局部反显**,示例参见当前 [0.91' OLED显示#数字反显](../信号源/0.91_%20OLED显示.md#数字反显)
#u8g2