stm32-extras

Crates.iostm32-extras
lib.rsstm32-extras
version0.1.0
sourcesrc
created_at2017-09-22 00:48:51.993265
updated_at2017-09-22 00:48:51.993265
descriptionBit-banding access for STM32 peripherals
homepage
repositoryhttps://github.com/idubrov/stm32-extras
max_upload_size
id32599
size23,252
Ivan Dubrov (idubrov)

documentation

https://docs.rs/stm32-band

README

crates.io crates.io CircleCI

stm32-extras

Extra API on top of STM32 device crates (stm32f103xx)

Examples

Configuring GPIO pins without disturbing other pins (no read-modify-write which could lead to data races):

use stm32_extras::GPIOExtras;
let gpioc = unsafe { &*stm32f103xx::GPIOC.get() }; // Get GPIOC somehow...

// Set pin to 2Mhz, open-drain.
// Modifies corresponding GPIO configuration bits without reads
gpioc.pin_config(13).output2().open_drain();

Generalized interface to GPIO pins:

use stm32_extras::GPIOExtras;
let gpioc = unsafe { &*stm32f103xx::GPIOC.get() }; // Get GPIOC somehow...

// Set pins 13, 14 and 15 on GPIOC to 1, 0 and 1.
gpioc.write_pin_range(13, 3, 0b101);

License

Licensed under either of

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.

Commit count: 17

cargo fmt