# ch32v0 This crate provides an autogenerated API for access to CH32V0 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. [svd2rust]: https://github.com/rust-embedded/svd2rust [main repo]: https://github.com/ch32-rs/ch32-rs [documentation]: https://docs.rs/ch32v0/latest/ch32v0/ ## 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: ```toml [dependencies.ch32v0] version = "0.2.0" features = ["ch32v003", "critical-section"] [dependencies.riscv] version = "0.10.1" features = ["critical-section-single-hart"] ``` In your code: ```rust use ch32v0::ch32v003; let mut peripherals = ch32v003::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 | |:------:|:-------:|:-----:|