embassy_stm32_plus/traits/uart/
uart3.rs1use embassy_stm32::peripherals::USART3;
2use crate::builder::uart::uart3::rx::{Uart3Rx, Uart3RxBuilder};
3use crate::builder::uart::uart3::tx::{Uart3Tx, Uart3TxBuilder};
4use crate::builder::uart::uart3::Uart3Builder;
5
6pub trait Uart3Trait {
8 fn builder(self, tx: Uart3Tx, rx: Uart3Rx) -> Uart3Builder;
10
11 fn tx_builder(self, tx: Uart3Tx) -> Uart3TxBuilder;
13
14 fn rx_builder(self, rx: Uart3Rx) -> Uart3RxBuilder;
16}
17
18impl Uart3Trait for USART3 {
20 #[inline]
21 fn builder(self, tx: Uart3Tx, rx: Uart3Rx) -> Uart3Builder {
22 Uart3Builder::new(self, tx, rx)
23 }
24
25 #[inline]
26 fn tx_builder(self, tx: Uart3Tx) -> Uart3TxBuilder {
27 Uart3TxBuilder::new(self, tx)
28 }
29
30 #[inline]
31 fn rx_builder(self, rx: Uart3Rx) -> Uart3RxBuilder {
32 Uart3RxBuilder::new(self, rx)
33 }
34}