12 releases (6 breaking)
|0.7.0||May 30, 2022|
|0.6.2||Nov 15, 2021|
|0.6.0||Sep 5, 2021|
|0.5.1||May 15, 2021|
|0.3.0||Dec 28, 2020|
#1392 in Embedded development
5,657 downloads per month
Used in 37 crates (18 directly)
bxCAN peripheral driver
This crate implements a driver for the bxCAN peripheral found in many low- to middle-end STM32 microcontrollers.
Please refer to the changelog to see what changed in the last releases.
Add an entry to your
[dependencies] bxcan = "0.7.0"
Check the API Documentation for how to use the crate's functionality.
Rust version support
This crate supports at least the 3 latest stable Rust releases. Bumping the minimum supported Rust version (MSRV) is not considered a breaking change as long as these 3 versions are still supported.
Driver for the STM32 bxCAN peripheral.
This crate provides a reusable driver for the bxCAN peripheral found in many low- to middle-end STM32 microcontrollers. HALs for compatible chips can reexport this crate and implement its traits to easily expose a featureful CAN driver.
- Supports both single- and dual-peripheral configurations (where one bxCAN instance manages the filters of a secondary instance).
- Handles standard and extended frames, and data and remote frames.
- Support for interrupts emitted by the bxCAN peripheral.
- Transmission respects CAN IDs and protects against priority inversion (a lower-priority frame may be dequeued when enqueueing a higher-priority one).
- Implements the
embedded-haltraits for interoperability.
- Support for both RX FIFOs (as [
Rx0] and [
- Support for querying error states and handling error interrupts is incomplete.
[^1]: The specific version of defmt is unspecified and may be updated in a patch release.