Struct CAN

Source
pub struct CAN { /* private fields */ }
Expand description

Controller area network

See peripheral structure

Implementations§

Source§

impl CAN

Source

pub const PTR: *const RegisterBlock = {0x40006400 as *const stm32f303::can::RegisterBlock}

Pointer to the register block

Source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

Source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

Source

pub fn mcr(&self) -> &MCR

0x00 - master control register

Source

pub fn msr(&self) -> &MSR

0x04 - master status register

Source

pub fn tsr(&self) -> &TSR

0x08 - transmit status register

Source

pub fn rfr(&self, n: usize) -> &RFR

0x0c..0x14 - receive FIFO %s register

Source

pub fn rfr_iter(&self) -> impl Iterator<Item = &RFR>

Iterator for array of: 0x0c..0x14 - receive FIFO %s register

Source

pub fn rf0r(&self) -> &RFR

0x0c - receive FIFO 0 register

Source

pub fn rf1r(&self) -> &RFR

0x10 - receive FIFO 1 register

Source

pub fn ier(&self) -> &IER

0x14 - interrupt enable register

Source

pub fn esr(&self) -> &ESR

0x18 - error status register

Source

pub fn btr(&self) -> &BTR

0x1c - bit timing register

Source

pub fn tx(&self, n: usize) -> &TX

0x180..0x1b0 - CAN Transmit cluster

Source

pub fn tx_iter(&self) -> impl Iterator<Item = &TX>

Iterator for array of: 0x180..0x1b0 - CAN Transmit cluster

Source

pub fn rx(&self, n: usize) -> &RX

0x1b0..0x1d0 - CAN Receive cluster

Source

pub fn rx_iter(&self) -> impl Iterator<Item = &RX>

Iterator for array of: 0x1b0..0x1d0 - CAN Receive cluster

Source

pub fn fmr(&self) -> &FMR

0x200 - filter master register

Source

pub fn fm1r(&self) -> &FM1R

0x204 - filter mode register

Source

pub fn fs1r(&self) -> &FS1R

0x20c - filter scale register

Source

pub fn ffa1r(&self) -> &FFA1R

0x214 - filter FIFO assignment register

Source

pub fn fa1r(&self) -> &FA1R

0x21c - CAN filter activation register

Source

pub fn fb(&self, n: usize) -> &FB

0x240..0x320 - CAN Filter Bank cluster

Source

pub fn fb_iter(&self) -> impl Iterator<Item = &FB>

Iterator for array of: 0x240..0x320 - CAN Filter Bank cluster

Trait Implementations§

Source§

impl Debug for CAN

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for CAN

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Send for CAN

Auto Trait Implementations§

§

impl Freeze for CAN

§

impl RefUnwindSafe for CAN

§

impl !Sync for CAN

§

impl Unpin for CAN

§

impl UnwindSafe for CAN

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.