本次我们使用了如下库:
相对于U8G2库, 此库功能少了很多, 相对的RAM ROM占用也都少,那个绘制进度条是很有亮点的
依然接硬件IIC SCL: 22 SDA: 21
一. 如何使用库
- 引入库(我的是IIC接口)
#include "SSD1306Wire.h"
- 实例化一个SSD1306Wire对象
SSD1306Wire display(0x3c, 21, 22);
- 初始化屏幕
display.init();
- 显示和清除
display.clear();
display.display();
二. 相关API
1. 清屏, 清除显示buf区, display.clear
void OLEDDisplay::clear()
display.clear();
2. 清除某个点 display.clearPixel
void OLEDDisplay::clearPixel(int16_t x, int16_t y)
display.clearPixel(0,0);
3. 显示, 显示buf区的内容 display.display
void SSD1306Wire::display()
display.display();
4. 把显示屏关掉 display.displayOff();
5. 把显示屏打开 display.displayOn();
6. 深度睡眠后恢复 display.allocateBuffer();
//使用它可以在深度睡眠后恢复而不重置显示(init()会做什么)。
//如果已建立与显示器的连接并分配了缓冲区,则返回true,否则返回false。
display.allocateBuffer();
7. 关闭OLED,清除对象和缓存 display.end();
void OLEDDisplay::end()
8. 屏幕垂直翻转 display.flipScreenVertically();
display.flipScreenVertically();