The crates generated with svd2rust
from stm32-rs
now depend on cortex-m-rt
>0.6.15,<0.8
. This causes cargo to choose 0.7.0 at the moment. Unforunately cortex-m-rt 0.7.0 does not work with rtic 0.5
at the moment.
This crate provides an autogenerated API for access to STM32WL 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.
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.stm32wl]
version = "0.13.0"
features = ["stm32wl5x_cm0p", "rt"]
The rt
feature is optional and brings in support for cortex-m-rt
.
In your code:
use stm32wl::stm32wl5x_cm0p;
let mut peripherals = stm32wl5x_cm0p::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.19.0/svd2rust/#peripheral-api
Module | Devices | Links |
---|---|---|
stm32wl5x_cm0p | STM32WL5X (CM0+) | RM0453, st.com |
stm32wl5x_cm4 | STM32WL5X (CM4) | RM0453, st.com |
stm32wle5 | STM32WLE5 | RM0461, st.com |