1 个不稳定版本
0.2.0 | 2023年11月24日 |
---|
#2088 在 嵌入式开发
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