SSD1306 OLED 驱动库使用教程
ssd1306SSD1306 OLED driver项目地址:https://gitcode.com/gh_mirrors/ssd/ssd1306
项目目录结构及介绍
ssd1306/
├── examples/
│ ├── arduino/
│ │ ├── HelloWorld/
│ │ ├── ...
│ ├── rust/
│ │ ├── hello_world/
│ │ ├── ...
├── src/
│ ├── lib.rs
│ ├── ...
├── Cargo.toml
├── README.md
- examples/: 包含多个示例项目,分别用于 Arduino 和 Rust 平台。
- arduino/: Arduino 平台的示例代码。
- rust/: Rust 平台的示例代码。
- src/: 库的核心代码文件。
- lib.rs: 库的主文件。
- Cargo.toml: Rust 项目的配置文件。
- README.md: 项目说明文档。
项目的启动文件介绍
Arduino 平台
在 examples/arduino/HelloWorld/HelloWorld.ino
文件中,这是 Arduino 平台的启动文件。它包含了初始化 OLED 显示屏和显示 "Hello, World!" 的基本代码。
#include "SSD1306.h"
SSD1306 display(0x3c, 4, 5);
void setup() {
display.init();
display.clear();
display.setFont(ArialMT_Plain_10);
display.drawString(0, 0, "Hello, World!");
display.display();
}
void loop() {
}
Rust 平台
在 examples/rust/hello_world/src/main.rs
文件中,这是 Rust 平台的启动文件。它包含了初始化 OLED 显示屏和显示 "Hello, World!" 的基本代码。
use ssd1306::{mode::TerminalMode, prelude::*, I2CDisplayInterface, Ssd1306};
use embedded_graphics::{
mono_font::{ascii::FONT_6X10, MonoTextStyle},
text::Text,
pixelcolor::BinaryColor,
prelude::*,
};
use linux_embedded_hal::{I2cdev, Delay};
fn main() {
let i2c = I2cdev::new("/dev/i2c-1").unwrap();
let interface = I2CDisplayInterface::new(i2c);
let mut display = Ssd1306::new(interface, DisplaySize128x64, DisplayRotation::Rotate0).init().unwrap();
let text_style = MonoTextStyle::new(&FONT_6X10, BinaryColor::On);
Text::new("Hello, World!", Point::new(0, 0), text_style).draw(&mut display).unwrap();
display.flush().unwrap();
}
项目的配置文件介绍
Rust 平台
在 Cargo.toml
文件中,这是 Rust 项目的配置文件。它包含了项目的依赖、版本和其他配置信息。
[package]
name = "ssd1306"
version = "0.3.0"
authors = ["James Waples <jamwaffles@gmail.com>"]
edition = "2018"
[dependencies]
embedded-graphics = "0.6.2"
linux-embedded-hal = "0.2.2"
ssd1306 = "0.3.0"
这个文件定义了项目的名称、版本、作者和依赖库。embedded-graphics
和 linux-embedded-hal
是用于图形显示和硬件接口的依赖库。
ssd1306SSD1306 OLED driver项目地址:https://gitcode.com/gh_mirrors/ssd/ssd1306