1 个不稳定版本
0.1.1 | 2024年2月19日 |
---|
1870 在 嵌入式开发
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许可协议下授权。