NanoFramework操作ESP32(一)_基础元器件篇(九)_双色屏(0.96寸OLED显示屏_IIC接口SSD1306驱动)
一、元器件介绍
1、针脚用途
编号 | 名称 | 功能 |
1 | GND | 电源池 |
2 | VCC | 电源正 |
3 | SCL | IIC时钟线 |
4 | SDA | IIC数据线 |
2、电气参数
二、示例代码
视频地址:【双色屏(SSD1306驱动)】 、【C#操作双色屏_优化帧率-哔哩哔哩】
1、接线
编号 | ESP32 | 元器件 |
1 | GND | GND |
2 | 3V3 | VCC |
3 | 22 | SCL(IIC时钟线 ) |
4 | 21 | SDA(IIC数据线) |
2、初始化屏幕的方法
SSD1306Helper.SSD1306Screens_Init(); // 初始化屏幕
3、控制屏幕上像素点的原理
屏幕分辨率为128x64;存储屏幕像素点缓存内容的RAM为GDDRAM;分为8页(PAGE0~PAGE7;每8行为一页)。每页内 1个SEG对应1Byte数据,一页由 128 Byte 组成,若要显示整个屏幕,则需要128*8=1024Byte(1KB)。
4、亮屏、灭屏的方法
SSD1306Helper.SSD1306Screens_ON(); // 亮屏
SSD1306Helper.SSD1306Screens_OFF(); // 灭屏
5、画线示例
// 画线
SSD1306Helper.DrawHLine(0, 0, 128);
SSD1306Helper.DrawVLine(127, 0, 64);
SSD1306Helper.DrawVLine(0, 0, 64);
SSD1306Helper.DrawHLine(0, 55, 128);
6、图案示例
SSD1306Helper.SSD1306Screens_Clear();
SSD1306Helper.DrawCircle(63,27,10); // 圆
SSD1306Helper.Display();
SSD1306Helper.SSD1306Screens_Clear();
SSD1306Helper.DrawFilledCircle(63, 27, 10); // 实心圆
SSD1306Helper.Display();
SSD1306Helper.SSD1306Screens_Clear();
SSD1306Helper.DrawRectangle(40, 20, 30, 30); // 矩形
SSD1306Helper.Display();
SSD1306Helper.SSD1306Screens_Clear();
SSD1306Helper.DrawFilledRectangle(40, 20, 30, 30); // 实心矩形
SSD1306Helper.Display();
SSD1306Helper.SSD1306Screens_Clear();
SSD1306Helper.DrawRoundRect(40, 20, 30, 30, 8); // 圆角矩形
SSD1306Helper.Display();
SSD1306Helper.SSD1306Screens_Clear();
SSD1306Helper.DrawRoundFilledRect(40, 20, 30, 30, 8); // 实心圆角矩形
SSD1306Helper.Display();
SSD1306Helper.SSD1306Screens_Clear();
SSD1306Helper.DrawTriangle(60, 20,40, 45, 80, 45); // 三角形
SSD1306Helper.Display();
7、展示字符
// 画字
SSD1306Helper.DrawText(1,1, "BiliBili22382243".ToCharArray(),2);
SSD1306Helper.Display();
本文来自博客园,作者:꧁执笔小白꧂,转载请注明原文链接:https://www.cnblogs.com/qq2806933146xiaobai/p/17641573.html