1 个不稳定版本

0.2.0 2023年11月24日

#2088嵌入式开发

MIT/Apache

17KB
212

SSD1327 I2C 驱动程序

no_std SSD1327 OLED屏幕的I2C驱动程序。

graphics功能实现了SSD1327 OLED屏幕的embedded-graphics DrawTarget特质。

已在ESP32上测试。

示例

无图形

以下代码展示了如何使用ESP HAL I2C外围驱动程序烧录SSD1327屏幕。

// Create a new peripheral object with the described wiring
// and standard I2C clock speed
let i2c = I2C::new(
    peripherals.I2C0,
    sda,
    scl,
    100u32.kHz(),
    &clocks,
);

// Create a new SSD1327I2C object with slave address 0x3C, width 127 and height 127
let mut driver = ssd1327_i2c::SSD1327I2C::new(i2c);

driver.init();

loop {
    driver.send_cmd(ssd1327_i2c::Commands::DisplayModeAllON);
    delay.delay_ms(1000u32);
    driver.send_cmd(ssd1327_i2c::Commands::DisplayModeAllOFF);
    delay.delay_ms(1000u32);
}

有图形

以下代码展示了如何使用ESP HAL I2C外围驱动程序将“Hello rust!”写入SSD1327屏幕。

// Create a new peripheral object with the described wiring
// and standard I2C clock speed
let i2c = I2C::new(
    peripherals.I2C0,
    sda,
    scl,
    100u32.kHz(),
    &clocks,
);

// Create a new SSD1327I2C object with slave address 0x3C, width 127 and height 127
let mut driver = ssd1327_i2c::SSD1327I2C::new(i2c);

driver.init();

// Create a new character style
let style = MonoTextStyle::new(&FONT_6X10, Gray4::WHITE);

// Create a text at position (10, 10) and draw it using the previously defined style
Text::new("Hello rust!", Point::new(10, 10), style).draw(&mut driver).unwrap();

loop {}

依赖项

~165KB