22 releases (14 breaking)

0.15.1 Jul 4, 2022
0.14.0 Oct 3, 2021
0.13.0 Feb 15, 2021
0.12.1 Sep 22, 2020
0.2.2 Jul 11, 2018

#2181 in Embedded development

Download history 1297/week @ 2024-12-15 485/week @ 2024-12-22 323/week @ 2024-12-29 925/week @ 2025-01-05 1272/week @ 2025-01-12 1136/week @ 2025-01-19 528/week @ 2025-01-26 1405/week @ 2025-02-02 1212/week @ 2025-02-09 676/week @ 2025-02-16 1082/week @ 2025-02-23 612/week @ 2025-03-02 966/week @ 2025-03-09 1108/week @ 2025-03-16 1037/week @ 2025-03-23 395/week @ 2025-03-30

3,616 downloads per month
Used in 41 crates (7 directly)

MIT/Apache

15MB
459K SLoC

stm32f1

This crate provides an autogenerated API for access to STM32F1 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.stm32f1]
version = "0.15.1"
features = ["stm32f100"]

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:

use stm32f1::stm32f100;

let mut peripherals = stm32f100::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
stm32f100 STM32F100 RM0041, st.com
stm32f101 STM32F101 RM0008, st.com
stm32f102 STM32F102 RM0008, st.com
stm32f103 STM32F103 RM0008, st.com
stm32f107 STM32F105, STM32F107 RM0008, st.com

Dependencies