ssd1306

所属分类:Rust编程
开发工具:Rust
文件大小:0KB
下载次数:4
上传日期:2023-10-05 11:57:54
上 传 者sh-1993
说明:  SSD1306 OLED驱动程序,
(SSD1306 OLED driver,)

文件列表:
.cargo/ (0, 2023-11-08)
.cargo/config (185, 2023-11-08)
.circleci/ (0, 2023-11-08)
.circleci/config.yml (2568, 2023-11-08)
CHANGELOG.md (11104, 2023-11-08)
Cargo.toml (1537, 2023-11-08)
LICENSE-APACHE (10847, 2023-11-08)
LICENSE-MIT (1056, 2023-11-08)
build.rs (477, 2023-11-08)
build.sh (651, 2023-11-08)
doc/ (0, 2023-11-08)
doc/SSD1306.pdf (1876686, 2023-11-08)
doc/SSD1306B_rev1.1.pdf (1078911, 2023-11-08)
examples/ (0, 2023-11-08)
examples/bmp_i2c.rs (2509, 2023-11-08)
examples/dvd.bmp (2826, 2023-11-08)
examples/graphics.rs (3177, 2023-11-08)
examples/graphics_i2c.rs (2819, 2023-11-08)
examples/graphics_i2c_128x32.rs (2797, 2023-11-08)
examples/graphics_i2c_72x40.rs (3138, 2023-11-08)
examples/image_i2c.rs (2134, 2023-11-08)
examples/noise_i2c.rs (2071, 2023-11-08)
examples/pixelsquare.rs (2860, 2023-11-08)
examples/rotation_i2c.rs (2418, 2023-11-08)
examples/rtic_brightness.rs (6054, 2023-11-08)
examples/rtic_dvd.rs (5112, 2023-11-08)
examples/rust.bmp (8262, 2023-11-08)
examples/rust.png (723, 2023-11-08)
examples/rust.raw (512, 2023-11-08)
examples/terminal_i2c.rs (2010, 2023-11-08)
examples/text_i2c.rs (2343, 2023-11-08)
memory.x (139, 2023-11-08)
release.toml (581, 2023-11-08)
... ...

# SSD1306 driver [![Build Status](https://circleci.com/gh/jamwaffles/ssd1306/tree/master.svg?style=shield)](https://circleci.com/gh/jamwaffles/ssd1306/tree/master) [![Crates.io](https://img.shields.io/crates/v/ssd1306.svg)](https://crates.io/crates/ssd1306) [![Docs.rs](https://docs.rs/ssd1306/badge.svg)](https://docs.rs/ssd1306) [![CRIUS display showing the Rust logo](readme_banner.jpg?raw=true)](examples/image_i2c.rs) I2C and SPI (4 wire) driver for the SSD1306 OLED display. ## [Documentation](https://docs.rs/ssd1306) ## [Changelog](CHANGELOG.md) ## [Examples](examples) This crate uses [`probe-run`](https://crates.io/crates/probe-run) to run the examples. Once set up, it should be as simple as `cargo run --example --release`. From [`examples/image_i2c.rs`](examples/image_i2c.rs): ```rust #![no_std] #![no_main] use cortex_m_rt::{entry, exception, ExceptionFrame}; use embedded_graphics::{ image::{Image, ImageRaw}, pixelcolor::BinaryColor, prelude::*, }; use panic_halt as _; use ssd1306::{prelude::*, I2CDisplayInterface, Ssd1306}; use stm32f1xx_hal::{ i2c::{BlockingI2c, DutyCycle, Mode}, prelude::*, stm32, }; #[entry] fn main() -> ! { let dp = stm32::Peripherals::take().unwrap(); let mut flash = dp.FLASH.constrain(); let mut rcc = dp.RCC.constrain(); let clocks = rcc.cfgr.freeze(&mut flash.acr); let mut afio = dp.AFIO.constrain(&mut rcc.apb2); let mut gpiob = dp.GPIOB.split(&mut rcc.apb2); let scl = gpiob.pb8.into_alternate_open_drain(&mut gpiob.crh); let sda = gpiob.pb9.into_alternate_open_drain(&mut gpiob.crh); let i2c = BlockingI2c::i2c1( dp.I2C1, (scl, sda), &mut afio.mapr, Mode::Fast { frequency: 400_000.hz(), duty_cycle: DutyCycle::Ratio2to1, }, clocks, &mut rcc.apb1, 1000, 10, 1000, 1000, ); let interface = I2CDisplayInterface::new(i2c); let mut display = Ssd1306::new(interface, DisplaySize128x64, DisplayRotation::Rotate0) .into_buffered_graphics_mode(); display.init().unwrap(); let raw: ImageRaw = ImageRaw::new(include_bytes!("./rust.raw"), 64); let im = Image::new(&raw, Point::new(32, 0)); im.draw(&mut display).unwrap(); display.flush().unwrap(); loop {} } #[exception] fn HardFault(ef: &ExceptionFrame) -> ! { panic!("{:#?}", ef); } ``` ## License Licensed under either of - Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) - MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) at your option. ### Contribution Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

近期下载者

相关文件


收藏者