#api-access

no-std stm32f1

Device support crates for STM32F1 devices

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

#1045 in Embedded development

Download history 814/week @ 2024-07-23 988/week @ 2024-07-30 789/week @ 2024-08-06 850/week @ 2024-08-13 709/week @ 2024-08-20 651/week @ 2024-08-27 791/week @ 2024-09-03 721/week @ 2024-09-10 607/week @ 2024-09-17 1015/week @ 2024-09-24 726/week @ 2024-10-01 201/week @ 2024-10-08 462/week @ 2024-10-15 519/week @ 2024-10-22 620/week @ 2024-10-29 370/week @ 2024-11-05

2,033 downloads per month
Used in 40 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