Crate bxcan[−][src]
Expand description
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.
Features
- 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-can
traits for interoperability.
Limitations
- 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.
Cargo Features
Feature | Description |
---|---|
unstable-defmt | Implements defmt ’s Format trait for the types in this crate.1 |
embedded-can-03 | Implements the embedded-can 0.3 traits. |
The specific version of defmt is unspecified and may be updated in a patch release. ↩
Modules
Filter bank API.
Structs
Interface to a bxCAN peripheral.
Builder returned by Can::builder
.
Configuration proxy returned by Can::modify_config
.
Payload of a CAN data frame.
Extended 29-bit CAN Identifier (0..=1FFF_FFFF
).
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 (0..=0x7FF
).
Contains information about a frame enqueued for transmission via Can::transmit
or
Tx::transmit
.
Interface to the CAN transmitter part.
Enums
A CAN Identifier (standard or extended).
bxCAN interrupt sources.
The three transmit mailboxes.
Traits
A bxCAN instance that owns filter banks.
A bxCAN peripheral instance.
A bxCAN master instance that shares filter banks with a slave instance.