Crate stm32_hal [] [src]

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);

Traits

GPIOExtras

Convenient access to the bit blocks on GPIO ports.