#display #driver #spi #gpio #hardware #shapes #devices

st7735

Rust 库,用于使用 ST7735 驱动程序的显示屏

1 个不稳定版本

0.1.0 2019 年 2 月 18 日

#1574硬件支持

MIT 许可证

1MB
586

st7735-rs

这是一个使用 ST7735 驱动程序的显示屏库。文档可在此处找到。

Display example

目前,该库支持使用硬件 SPI 以及软件 SPI 与显示屏进行通信。请注意,使用硬件 SPI 要快得多,如果连接的设备支持,则建议使用。

该驱动程序还提供了一个简单的图形库,目前支持绘制以下形状

  • 矩形(填充和边框)
  • 圆形(填充和边框)
  • 线条(水平、垂直和斜线)
  • 文本(字符)

用法

要使用此 crate,请在您的 Cargo.toml 中添加以下内容

[dependencies]
st7735 = "0.1.0"

有关更多示例,请参阅 /examples

extern crate st7735;
use st7735::color::{Color, DefaultColor};
use st7735::fonts::font57::Font57;
use st7735::Orientation;
use st7735::ST7734;

let mut display = ST7734::new_with_spi("/dev/spidev0.0", 25);
display.clear_screen();
display.set_orientation(&Orientation::Portrait);
let color_red = Color::from_default(DefaultColor::Red);
display.draw_horizontal_line(0, 128, 20, &color_red);
display.draw_horizontal_line(0, 128, 140, &color_red);
display.draw_rect(30, 30, 60, 70, &Color::from_default(DefaultColor::Blue));

连接显示屏

我使用 Raspberry Pi 模型 A 和 SainSmart 1.8" TFT LCD 显示屏以及以下 SPI 连接线对该 crate 进行了测试

Raspberry Pi 显示屏
GND (Pin 6) CS
GPIO 25 (Pin 22) RS/DC
GPIO 10 (Pin 19) SDA
GPIO 11 (Pin 23) SCL
GND (Pin 6) GND
5V (Pin 2) VCC

当使用软件 SPI 以及其他引脚或在硬件 SPI 情况下,可能需要明确允许访问 Raspberry Pi 上的 GPIO

echo "25" > /sys/class/gpio/export
sudo sh -c 'echo out > /sys/class/gpio/gpio25/direction'

构建

如果已安装 cargo,则可以在目标平台(例如 Raspberry Pi)上简单运行 cargo build 以构建此 crate。

要在非目标平台(例如 macOS)上构建此 crate,我建议使用 crosstool-ng,这将安装必要的工具链。要为 Raspberry Pi 模型 A 构建 crate,请运行

cargo build --target=arm-unknown-linux-gnueabi

有关安装所需工具和设置构建此 crate 的所有内容的更多详细信息,我写了一篇更详细的博客文章,关于在 macOS 上设置用于嵌入式系统编程的 Rust

路线图

  • 支持更多形状
  • 支持渲染文本而不是单个字符
  • 支持更多字体
  • 添加支持读取 SD 卡
  • 绘制位图

资源

这个软件包基于Bruce E. Hall的系列文章《为Raspberry Pi添加TFT显示屏》以及Adafruit-ST7735-Library

贡献

我们欢迎所有贡献!您可以随意克隆仓库并创建拉取请求。

许可证

MIT

依赖

约4MB
约93K SLoC