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).
- Optionally implements the
embedded-cantraits for interoperability.
- Currently, only RX FIFO 0 is supported, and FIFO 1 will not be used.
- Support for querying error states and handling error interrupts is incomplete.
|Implements the |
The specific version of defmt is unspecified and may be updated in a patch release. ↩
Filter bank API.
Interface to a bxCAN peripheral.
Payload of a CAN data frame.
Extended 29-bit CAN Identifier (
A CAN data or remote frame.
Priority of a CAN frame.
A set of bxCAN interrupts.
Register block of bxCAN peripherals.
Interface to the CAN receiver part.
Standard 11-bit CAN Identifier (
Interface to the CAN transmitter part.
A CAN Identifier (standard or extended).
bxCAN interrupt sources.
The three transmit mailboxes.