# stm32l4 This crate provides an autogenerated API for access to STM32L4 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. [svd2rust]: https://github.com/rust-embedded/svd2rust [main repo]: https://github.com/stm32-rs/stm32-rs [documentation]: https://docs.rs/stm32l4/latest/stm32l4/ ## 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: ```toml [dependencies.stm32l4] version = "0.15.1" features = ["stm32l412"] ``` The `rt` feature is enabled by default and brings in support for `cortex-m-rt`. To disable, specify `default-features = false` in `Cargo.toml`. In your code: ```rust use stm32l4::stm32l412; let mut peripherals = stm32l412::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.24.1/svd2rust/#peripheral-api ## Supported Devices | Module | Devices | Links | |:------:|:-------:|:-----:| | stm32l412 | STM32L412, STM32L422 | [RM0394](https://www.st.com/resource/en/reference_manual/dm00151940.pdf), [st.com](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html) | | stm32l4r5 | STM32L4R5, STM32L4S5 | [RM0432](https://www.st.com/resource/en/reference_manual/dm00310109.pdf), [st.com](https://www.st.com/en/microcontrollers-microprocessors/stm32l4r5-s5.html) | | stm32l4r9 | STM32L4R9, STM32L4S9 | [RM0432](https://www.st.com/resource/en/reference_manual/dm00310109.pdf), [st.com](https://www.st.com/en/microcontrollers-microprocessors/stm32l4r9-s9.html) | | stm32l4x1 | STM32L431, STM32L451, STM32L471 | [RM0394](https://www.st.com/resource/en/reference_manual/dm00151940.pdf), [st.com](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x1.html) | | stm32l4x2 | STM32L432, STM32L442, STM32L452, STM32L462 | [RM0394](https://www.st.com/resource/en/reference_manual/dm00151940.pdf), [st.com](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x2.html) | | stm32l4x3 | STM32L433, STM32L443 | [RM0394](https://www.st.com/resource/en/reference_manual/dm00151940.pdf), [st.com](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x3.html) | | stm32l4x5 | STM32L475 | [RM0351](https://www.st.com/resource/en/reference_manual/dm00083560.pdf), [st.com](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x5.html) | | stm32l4x6 | STM32L476, STM32L486, STM32L496, STM32L4A6 | [RM0351](https://www.st.com/resource/en/reference_manual/dm00083560.pdf), [st.com](https://www.st.com/en/microcontrollers-microprocessors/stm32l4x6.html) |