1 个不稳定版本
0.1.0 | 2019 年 2 月 18 日 |
---|
#1574 在 硬件支持
1MB
586 行
st7735-rs
这是一个使用 ST7735 驱动程序的显示屏库。文档可在此处找到。
目前,该库支持使用硬件 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