#api #information #devices #peripheral #embedded-devices #api-access

no-std stm32f1-staging

Device support crates for STM32F1 devices

3 releases (breaking)

0.18.0 Jan 26, 2025
0.17.1 Nov 7, 2024
0.17.0 Nov 7, 2024
0.16.0 Oct 5, 2024

#300 in Embedded development

Download history 33/week @ 2024-11-16 15/week @ 2024-11-23 73/week @ 2024-11-30 295/week @ 2024-12-07 433/week @ 2024-12-14 367/week @ 2024-12-21 419/week @ 2024-12-28 155/week @ 2025-01-04 286/week @ 2025-01-11 292/week @ 2025-01-18 213/week @ 2025-01-25 267/week @ 2025-02-01 369/week @ 2025-02-08 165/week @ 2025-02-15 164/week @ 2025-02-22 141/week @ 2025-03-01

891 downloads per month

MIT/Apache

14MB
323K SLoC

stm32f1-staging

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-staging]
version = "0.18.0"
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-staging::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.35.0/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