Struct stm32h7xx_hal::rcc::rec::Sai1[][src]

pub struct Sai1 { /* fields omitted */ }

Reset, Enable and Clock functionality for Sai1

Reset/Enable Example

let ccdr = ...; // From RCC

// Enable the clock to the peripheral and reset it
ccdr.peripheral.SAI1.enable().reset();

Individual Kernel Clock

This peripheral has its own dedicated kernel clock. See Sai1ClkSel for possible clock sources.

let ccdr = ...; // From RCC

// Set individual kernel clock
let sai1_prec = ccdr.peripheral.SAI1.kernel_clk_mux(Sai1ClkSel::XX_clock_soruce_XX);

assert_eq!(sai1_prec.get_kernel_clk_mux(), Sai1ClkSel::XX_clock_source_XX);

Implementations

impl Sai1[src]

pub fn low_power(self, lpm: LowPowerMode) -> Self[src]

Set Low Power Mode for peripheral

impl Sai1[src]

pub fn kernel_clk_mux(self, sel: Sai1ClkSel) -> Self[src]

Modify the kernel clock for SAI1. See RM0433 Rev 7 Section 8.5.8.

It is possible to switch this clock dynamically without generating spurs or timing violations. However, the user must ensure that both clocks are running. See RM0433 Rev 7 Section 8.5.10.

pub fn get_kernel_clk_mux(&self) -> Variant<u8, Sai1ClkSel>[src]

Return the current kernel clock selection

Trait Implementations

impl ResetEnable for Sai1[src]

impl Send for Sai1[src]

Auto Trait Implementations

impl !Sync for Sai1

impl Unpin for Sai1

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.