#lcd #lcd-display #embedded-hal #embedded-hal-driver #no-std #aip31068l

no-std lcd_1602_i2c

一个用于使用AiP31068L芯片并通过嵌入式hal库驱动的I2C字符LCD显示屏的crate

3个不稳定版本

0.3.0 2021年8月7日
0.2.1 2021年8月2日
0.2.0 2021年8月2日

1631 in 嵌入式开发

Download history 7/week @ 2024-03-09 4/week @ 2024-03-16 41/week @ 2024-03-30 9/week @ 2024-04-06 3/week @ 2024-04-13 30/week @ 2024-04-27 75/week @ 2024-05-04 1/week @ 2024-05-11 22/week @ 2024-05-18 51/week @ 2024-05-25 59/week @ 2024-06-01 34/week @ 2024-06-08 31/week @ 2024-06-15 8/week @ 2024-06-22

138 monthly downloads

MIT许可

330KB
179

I2C字符LCD驱动程序

Screen

提供嵌入式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许可(LICENSEhttps://opensource.org/licenses/MIT)

依赖