#stm32 #svd2rust #no-std #embedded

no-std stm32l4

Device support crates for STM32L4 devices

20 releases (13 breaking)

0.14.0 Oct 3, 2021
0.13.0 Feb 15, 2021
0.12.1 Sep 22, 2020
0.11.0 Apr 25, 2020
0.2.2 Jul 11, 2018

#664 in Embedded development

Download history 464/week @ 2021-10-06 574/week @ 2021-10-13 356/week @ 2021-10-20 504/week @ 2021-10-27 644/week @ 2021-11-03 435/week @ 2021-11-10 220/week @ 2021-11-17 300/week @ 2021-11-24 563/week @ 2021-12-01 604/week @ 2021-12-08 409/week @ 2021-12-15 160/week @ 2021-12-22 322/week @ 2021-12-29 345/week @ 2022-01-05 599/week @ 2022-01-12 824/week @ 2022-01-19

2,092 downloads per month
Used in 13 crates (4 directly)

MIT/Apache

64MB
2M SLoC

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.

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.stm32l4]
version = "0.14.0"
features = ["stm32l412", "rt"]

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

In your code:

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.19.0/svd2rust/#peripheral-api

Supported Devices

Module Devices Links
stm32l412 STM32L412, STM32L422 RM0394, st.com
stm32l4r9 STM32L4R9, STM32L4S9 RM0432, st.com
stm32l4x1 STM32L431, STM32L451, STM32L471 RM0394, st.com
stm32l4x2 STM32L432, STM32L442, STM32L452, STM32L462 RM0394, st.com
stm32l4x3 STM32L433, STM32L443 RM0394, st.com
stm32l4x5 STM32L475 RM0351, st.com
stm32l4x6 STM32L476, STM32L486, STM32L496, STM32L4A6 RM0351, st.com

Dependencies