#svd2rust #wch #api-access

no-std ch56x

Device support crates for CH56X devices

2 releases

0.1.6 Dec 7, 2022
0.1.5 Dec 5, 2022

#2246 in Embedded development

MIT/Apache

1.5MB
30K SLoC

ch56x

This crate provides an autogenerated API for access to CH56X 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.ch56x]
version = "0.1.6"
features = ["ch56x"]

The rt feature is enabled by default and brings in support for riscv-rt. To disable, specify default-features = false in Cargo.toml.

In your code:

use ch56x::ch56x;

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

Supported Devices

Module Devices Links

Dependencies

~0.5–1MB
~21K SLoC