#hal #arm #cortex-m #hardware-abstraction #py32f0xx

no-std py32f0xx-hal

Peripheral access API for py32F0 series microcontrollers

1 unstable release

0.0.1 Jun 10, 2023

#32 in #hardware-abstraction

0BSD license

165KB
3.5K SLoC

py32f0xx-hal

This repo is modified from stm32f0xx-hal

Currently only support the PY32f030 (the py32f002axx py32f003xx and py32f030xx peripherals are same, so you can controll all these chips using this hal)

NOTE: The function is not fully tested, and you are responsible for any problems with the use of this repository.

Continuous integration Crates.io docs.rs

py32f0xx-hal contains a hardware abstraction on top of the peripheral access API for the puyasemi PY32F0xx family of microcontrollers.

Collaboration on this crate is highly welcome, as are pull requests!

Supported Configurations

  • py32f030 (py32f030x4, py32f030x6, py32f030x8, py32f030xc)

py32f002axx and py32f003xx are supported due to the peripherals are same

Getting Started

The examples folder contains several example programs. To compile them, one must specify the target device as cargo feature:

$ cargo build --features=py32f030k16t

To use py32f0xx-hal as a dependency in a standalone project the target device feature must be specified in the Cargo.toml file:

[dependencies]
cortex-m = "0.7.7"
cortex-m-rt = "0.7.3"
py32f0xx-hal = { version = "0.0.1", features = ["py32f030k16t"]}

If you are unfamiliar with embedded development using Rust, there are a number of fantastic resources available to help.

Minimum supported Rust version

The minimum supported Rust version is the latest stable release. Older versions may compile, especially when some features are not used in your application.

Changelog

See CHANGELOG.md.

License

0-Clause BSD License, see LICENSE-0BSD.txt for more details.

Dependencies

~6.5MB
~148K SLoC