#svd2rust #wch #api-access

no-std ch32x0

Device support crates for CH32X0 devices

2 releases

0.1.7 Apr 1, 2024
0.1.6 Jul 22, 2023

#1643 in Embedded development

Download history 5/week @ 2024-02-20 3/week @ 2024-02-27 110/week @ 2024-03-26 79/week @ 2024-04-02 3/week @ 2024-04-09

192 downloads per month

MIT/Apache

2MB
28K SLoC

ch32x0

This crate provides an autogenerated API for access to CH32X0 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.ch32x0]
version = "0.1.7"
features = ["ch32x035", "critical-section"]

[dependencies.riscv]
version = "0.10.1"
features = ["critical-section-single-hart"]

In your code:

use ch32x0::ch32x035;

let mut peripherals = ch32x035::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.31.5/svd2rust/#peripheral-api

Supported Devices

Module Devices Links

Dependencies

~225KB