#lcd #adafruit #i2c

无需std adafruit-lcd-backpack

Adafruit I2C LCD背包的非官方驱动程序

1 个不稳定版本

0.1.1 2024年2月19日

1870嵌入式开发

MIT 许可协议

570KB
319

adafruit-lcd-backpack

Rust 驱动程序,用于Adafruit I2C LCD背包和MCP23008 GPIO扩展器

注意:此库不是由Adafruit制作的,并且不受其支持。使用Adafruit名称仅用于兼容性识别目的。

概述

此包提供用于带有MCP23008 GPIO扩展器的Adafruit I2C LCD背包的驱动程序。它旨在与嵌入式系统使用的embedded-hal traits一起使用。它支持基于HD44780的标准LCD显示器。

用法

要创建新的LCD背包,请使用new方法。这将返回一个新的LCD背包对象。传递给它的参数是LCD显示的类型、I2C总线以及延迟对象。I2C总线对象和延迟对象必须实现相关的嵌入式-hal traits。

// The embedded-hal traits are used to define the I2C bus and delay objects
use embedded_hal::{
    blocking::delay::{DelayMs, DelayUs},
    blocking::i2c::{Write, WriteRead},
};
use lcd_backpack::{LcdBackpack, LcdDisplayType};

// create the I2C bus per your platform
let i2c = ...;

// create the delay object per your platform
let delay = ...;

// create the LCD backpack
let mut lcd = LcdBackpack::new(LcdDisplayType::Lcd16x2, i2c, delay);

// initialize the LCD
if let Err(_e) = lcd.init() {
   panic!("Error initializing LCD");
}

此库支持core::fmt::Write trait,允许使用write!宏。例如

use core::fmt::Write;

// write a string to the LCD
if let Err(_e) = write!(lcd, "Hello, world!") {
  panic!("Error writing to LCD");
}

还提供了各种控制LCD的方法。每个方法都返回一个包裹LCD背包对象的Result。这允许您将方法链接起来。例如

// clear the display and home the cursor before writing a string
if let Err(_e) = write!(lcd.clear()?.home()?, "Hello, world!") {
 panic!("Error writing to LCD");
}

许可协议

MIT许可协议下授权。

依赖项