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].
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:
toml
[dependencies.stm32f4]
version = "0.5.0"
features = ["stm32f401", "rt"]
The rt
feature is optional and brings in support for cortex-m-rt
.
In your code:
```rust extern crate stm32f4; use stm32f4::stm32f401;
let mut peripherals = stm32f401::Peripherals::take().unwrap(); let gpioa = &peripherals.GPIOA; gpioa.odr.modify(|, w| w.odr0().setbit()); ```
For full details on the autogenerated API, please see: https://docs.rs/svd2rust/0.14.0/svd2rust/#peripheral-api
| 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 |