16 releases (9 breaking)

✓ Uses Rust 2018 edition

0.10.0 Feb 13, 2020
0.9.0 Nov 10, 2019
0.8.0 Jul 29, 2019
0.6.0 Jan 14, 2019
0.2.2 Jul 11, 2018

#393 in Embedded development

Download history 80/week @ 2019-12-14 85/week @ 2019-12-21 128/week @ 2019-12-28 86/week @ 2020-01-04 243/week @ 2020-01-11 200/week @ 2020-01-18 197/week @ 2020-01-25 152/week @ 2020-02-01 285/week @ 2020-02-08 167/week @ 2020-02-15 338/week @ 2020-02-22 118/week @ 2020-02-29 143/week @ 2020-03-07 250/week @ 2020-03-14 428/week @ 2020-03-21 271/week @ 2020-03-28

688 downloads per month
Used in 9 crates (via stm32f1xx-hal)

MIT/Apache

18MB
605K SLoC

stm32f1

This crate provides an autogenerated API for access to STM32F1 peripherals. The API is generated using svd2rust with patched svd files containing extensive type-safe support. For more information please see the main repo.

Refer to the documentation for full details.

Usage

Each device supported by this crate is behind a feature gate so that you only compile the device(s) you want. To use, in your Cargo.toml:

[dependencies.stm32f1]
version = "0.10.0"
features = ["stm32f100", "rt"]

The rt feature is optional and brings in support for cortex-m-rt.

In your code:

use stm32f1::stm32f100;

let mut peripherals = stm32f100::Peripherals::take().unwrap();
let gpioa = &peripherals.GPIOA;
gpioa.odr.modify(|_, w| w.odr0().set_bit());

For full details on the autogenerated API, please see: https://docs.rs/svd2rust/0.17.0/svd2rust/#peripheral-api

Supported Devices

Module Devices Links
stm32f100 STM32F100 RM0041, st.com
stm32f101 STM32F101 RM0008, st.com
stm32f102 STM32F102 RM0008, st.com
stm32f103 STM32F103 RM0008, st.com
stm32f107 STM32F105, STM32F107 RM0008, st.com

Dependencies