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

#78 in Embedded development

Download history 108/week @ 2019-11-10 187/week @ 2019-11-17 72/week @ 2019-11-24 121/week @ 2019-12-01 181/week @ 2019-12-08 77/week @ 2019-12-15 58/week @ 2019-12-22 40/week @ 2019-12-29 41/week @ 2020-01-05 120/week @ 2020-01-12 106/week @ 2020-01-19 65/week @ 2020-01-26 70/week @ 2020-02-02 122/week @ 2020-02-09 95/week @ 2020-02-16

404 downloads per month
Used in 9 crates (4 directly)

MIT/Apache

60MB
2M SLoC

stm32f4

This crate provides an autogenerated API for access to STM32F4 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.stm32f4]
version = "0.10.0"
features = ["stm32f401", "rt"]

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

In your code:

use stm32f4::stm32f401;

let mut peripherals = stm32f401::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
stm32f401 STM32F401 RM0368, st.com
stm32f405 STM32F405, STM32F415 RM0090, st.com
stm32f407 STM32F407, STM32F417 RM0090, st.com
stm32f410 STM32F410 RM0401, st.com
stm32f411 STM32F411 RM0383, st.com
stm32f412 STM32F412 RM0402, st.com
stm32f413 STM32F413, STM32F423 RM0430, st.com
stm32f427 STM32F427, STM32F437 RM0090, st.com
stm32f429 STM32F429, STM32F439 RM0090, st.com
stm32f446 STM32F446 RM0390, st.com
stm32f469 STM32F469, STM32F479 RM0386, st.com

Dependencies