#嵌入式图形 #液晶显示屏 #adafruit #no-std #内存显示屏

no-std sharp-memory-display

SHARP 内存像素显示屏的嵌入式图形驱动程序,无需std兼容

4个版本 (2个重大更新)

0.3.0 2022年11月14日
0.2.0 2022年9月13日
0.1.1 2022年9月3日
0.1.0 2022年9月3日

硬件支持 中排名 1629

GPL-3.0+

18KB
223

sharp-memory-display

Crates.io Crates.io

摘要

sharp-memory-display 为 SHARP 内存像素显示屏(如LS027B7DH01和类似型号)提供嵌入式图形驱动程序。该库依赖于 embedded-hal 并且兼容 #![no_std]

使用方法

只需在Cargo清单中依赖该库,通过 features 指定您的显示屏型号

[dependencies]
sharp-memory-display = { version: "0.1", features: ["ls027b7dh01"] }

现在可以将该库引入作用域

use sharp_memory_display::*

然后简单地从SPI结构体、芯片选择引脚和显示屏引脚构建一个新的 MemoryDisplay,如下所示

let cs = pins.pa14.into_push_pull_output();
let disp = pins.pa16.into_push_pull_output();
let spi = spi::Config::new(&peripherals.MCLK, spi_sercom, pads, freq)
    .baud(Hertz(500_000u32))
    .spi_mode(sharp_memory_display::MODE)
    .enable();

// Create display
let mut disp = MemoryDisplay::new(spi, cs, disp)
disp.enable();
disp.clear();

请注意您显示屏支持的SPI波特率上限。您可以在相应的 数据手册 中找到它。

现在您可以将显示屏用作 DrawTarget。要写入屏幕上的更改,必须调用 flush_buffer 函数。请参阅文档以了解使用说明。

注意:您必须通过 features 指定您的显示屏。目前支持的显示屏型号包括

  • ls027b7dh01(已测试)
  • ls013b7dh05
  • ls012b7dd06
  • ls010b7dh04
  • ls011b7dh03(已测试)

可以轻松添加对其他显示屏型号的支持。欢迎合并请求 :)

错误报告和功能请求

欢迎为该项目做出贡献。您可以在sourcehut找到问题跟踪器代码仓库。您也可以通过电子邮件发送错误报告或功能请求至~doesnotcompete/[email protected]

依赖关系

~5MB
~82K SLoC