3个不稳定版本
0.3.0 | 2021年8月7日 |
---|---|
0.2.1 | 2021年8月2日 |
0.2.0 | 2021年8月2日 |
1631 in 嵌入式开发
138 monthly downloads
330KB
179 行
I2C字符LCD驱动程序
提供嵌入式Rust驱动程序,用于常见的16x2 LCD显示屏,该显示屏使用AiP31068L芯片来驱动显示,以及PCA9633芯片来驱动RGB背光。
已与Waveshare LCD1602模块进行了测试。它也可能与其他RGB显示屏一起工作,如Groove 16X2 LDC RGB,但我尚未测试。
这是一个基本实现,目前不支持自定义字符。
速度
此驱动程序足够快,更新屏幕上的文本时没有明显的延迟。在我的程序中,我使用空格清除行尾而不是清除整个屏幕。
示例
目前有一个示例,使用此crate的例子位于examples/STM32F10x文件夹中。该示例使用STM32F103RB Nucleo-64板。这是一块很好的板子,因为它将程序器和调试器内置到板上了。
let scl = gpiob.pb10.into_alternate_open_drain(&mut gpiob.crh);
let sda = gpiob.pb11.into_alternate_open_drain(&mut gpiob.crh);
let i2c_bus = BlockingI2c::i2c2(
peripherals.I2C2,
(scl, sda),
i2c::Mode::Standard {
frequency: 400_000.hz(),
},
clocks,
&mut rcc.apb1,
1000,
10,
1000,
1000,
);
let mut lcd = Lcd::new(i2c_bus, LCD_ADDRESS, RGB_ADDRESS, &mut delay).unwrap();
lcd.set_rgb(255, 255, 255).unwrap();
lcd.print("Hello world!").unwrap();
许可
此项目采用MIT许可(LICENSE或https://opensource.org/licenses/MIT)