ssd1306 --- OLED 驱动¶
本模块提供基于 SSD1306 的 OLED 显示屏驱动。支持两种传输方式:I2C(SSD1306_I2C)和 SPI(SSD1306_SPI)。两者都从 SSD1306 继承绘图 API,后者封装了一个 framebuf.FrameBuffer1。
示例:
from machine import I2C
import ssd1306
i2c = I2C(2)
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
oled.fill(0)
oled.text("Hello", 0, 0)
oled.show()
类¶
- class ssd1306.SSD1306(width: int, height: int, external_vcc: bool)¶
SSD1306 OLED 显示屏的基类。子类必须初始化
self.framebuf并提供write_cmd、write_data、write_framebuf和poweron方法。参数:
width—— 显示宽度(以像素为单位)。height—— 显示高度(以像素为单位,必须是 8 的倍数)。external_vcc—— 若使用外部 VCC 电源则为True,若启用内部电荷泵则为False。
实例属性:
width—— 显示宽度(以像素为单位)。height—— 显示高度(以像素为单位)。external_vcc—— 外部 VCC 标志。pages—— 8 像素高的页数(height // 8)。
- class ssd1306.SSD1306_I2C(width: int, height: int, i2c: machine.I2C, addr: int = 0x3C, external_vcc: bool = False)¶
I2C 连接的 SSD1306 驱动。继承自
SSD1306。参数:
width—— 显示宽度(以像素为单位)。height—— 显示高度(以像素为单位)。i2c—— 一个已初始化的machine.I2C(或兼容)对象。addr—— 7 位 I2C 设备地址(默认为0x3C)。external_vcc—— 使用外部 VCC 时为True,使用内部电荷泵时为False。
- class ssd1306.SSD1306_SPI(width: int, height: int, spi: machine.SPI, dc: machine.Pin, res: machine.Pin, cs: machine.Pin, external_vcc: bool = False)¶
SPI 连接的 SSD1306 驱动。继承自
SSD1306。使用固定的 10 MHz SPI 时钟速率。参数:
width—— 显示宽度(以像素为单位)。height—— 显示高度(以像素为单位)。spi—— 一个pyb.SPI(或兼容)对象。dc—— 数据/命令选择引脚。res—— 复位引脚。cs—— 片选引脚。external_vcc—— 使用外部 VCC 时为True,使用内部电荷泵时为False。