Struct USART1

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

Universal synchronous asynchronous receiver transmitter

See peripheral structure

Implementations§

Source§

impl USART1

Source

pub const PTR: *const RegisterBlock = {0x40011000 as *const stm32f4_staging::stm32f429::usart1::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() -> USART1

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 sr(&self) -> &Reg<SRrs>

0x00 - Status register

Source

pub fn dr(&self) -> &Reg<DRrs>

0x04 - Data register

Source

pub fn brr(&self) -> &Reg<BRRrs>

0x08 - Baud rate register

Source

pub fn cr1(&self) -> &Reg<CR1rs>

0x0c - Control register 1

Source

pub fn cr2(&self) -> &Reg<CR2rs>

0x10 - Control register 2

Source

pub fn cr3(&self) -> &Reg<CR3rs>

0x14 - Control register 3

Source

pub fn gtpr(&self) -> &Reg<GTPRrs>

0x18 - Guard time and prescaler register

Trait Implementations§

Source§

impl Debug for USART1

Source§

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

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

impl Deref for USART1

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

fn deref(&self) -> &<USART1 as Deref>::Target

Dereferences the value.
Source§

impl Enable for USART1

Source§

fn enable(rcc: &RccRB)

Enables peripheral
Source§

fn disable(rcc: &RccRB)

Disables peripheral
Source§

fn is_enabled() -> bool

Check if peripheral enabled
Source§

fn is_disabled() -> bool

Check if peripheral disabled
Source§

unsafe fn enable_unchecked()

Safety Read more
Source§

unsafe fn disable_unchecked()

Safety Read more
Source§

impl LPEnable for USART1

Source§

fn enable_in_low_power(rcc: &RccRB)

Enables peripheral in low power mode
Source§

fn disable_in_low_power(rcc: &RccRB)

Disables peripheral in low power mode
Source§

fn is_enabled_in_low_power() -> bool

Check if peripheral enabled in low power mode
Source§

fn is_disabled_in_low_power() -> bool

Check if peripheral disabled in low power mode
Source§

unsafe fn enable_in_low_power_unchecked()

Safety Read more
Source§

unsafe fn disable_in_low_power_unchecked()

Safety Read more
Source§

impl PeriAddress for USART1

Source§

type MemSize = u8

Memory size of the peripheral.
Source§

fn address(&self) -> u32

Returns the address to be used by the DMA stream.
Source§

impl Ptr for USART1

Source§

type RB = RegisterBlock

RegisterBlock structure
Source§

fn ptr() -> *const Self::RB

Return the pointer to the register block
Source§

impl RccBus for USART1

Source§

type Bus = APB2

Bus type;
Source§

impl Reset for USART1

Source§

fn reset(rcc: &RccRB)

Resets peripheral
Source§

unsafe fn reset_unchecked()

Safety Read more
Source§

impl SerialAsync for USART1

Source§

type Rx<Otype> = Rx<Otype>

Receive
Source§

type Tx<Otype> = Tx<Otype>

Transmit
Source§

impl SerialFlowControl for USART1

Source§

type Cts = Cts

“Clear To Send” blocks the data transmission at the end of the current transfer when high
Source§

type Rts = Rts

“Request to send” indicates that the USART is ready to receive a data (when low)
Source§

impl SerialSync for USART1

Source§

type Ck = Ck

Source§

impl Steal for USART1

Source§

unsafe fn steal() -> Self

Steal an instance of this peripheral Read more
Source§

impl DMASet<StreamX<DMA2, 2>, 4, PeripheralToMemory> for USART1

Source§

impl DMASet<StreamX<DMA2, 5>, 4, PeripheralToMemory> for USART1

Source§

impl DMASet<StreamX<DMA2, 7>, 4, MemoryToPeripheral> for USART1

Source§

impl Instance for USART1

Source§

impl Send for USART1

Auto Trait Implementations§

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> BusClock for T
where T: RccBus, <T as RccBus>::Bus: BusClock,

Source§

fn clock(clocks: &Clocks) -> Rate<u32, 1, 1>

Calculates frequency depending on Clock state
Source§

impl<T> BusTimerClock for T
where T: RccBus, <T as RccBus>::Bus: BusTimerClock,

Source§

fn timer_clock(clocks: &Clocks) -> Rate<u32, 1, 1>

Calculates base frequency of timer depending on Clock state
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> I2sFreq for T
where T: RccBus, <T as RccBus>::Bus: I2sFreq,

Source§

fn try_i2s_freq(clocks: &Clocks) -> Option<Rate<u32, 1, 1>>

Source§

fn i2s_freq(clocks: &Clocks) -> Hertz

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<UART> SerialExt for UART
where UART: Instance,

Source§

fn serial<WORD>( self, pins: (impl Into<<UART as SerialAsync>::Tx<PushPull>>, impl Into<<UART as SerialAsync>::Rx<PushPull>>), config: impl Into<Config>, clocks: &Clocks, ) -> Result<Serial<UART, WORD>, InvalidConfig>

Source§

fn tx<WORD>( self, tx_pin: impl Into<Self::Tx<PushPull>>, config: impl Into<Config>, clocks: &Clocks, ) -> Result<Tx<Self, WORD>, InvalidConfig>
where NoPin: Into<Self::Rx<PushPull>>,

Source§

fn rx<WORD>( self, rx_pin: impl Into<Self::Rx<PushPull>>, config: impl Into<Config>, clocks: &Clocks, ) -> Result<Rx<Self, WORD>, InvalidConfig>
where NoPin: Into<Self::Tx<PushPull>>,

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.