pub struct ParlIoFullDuplex<'d, Dm>where
Dm: DriverMode,{
pub tx: TxCreatorFullDuplex<'d, Dm>,
pub rx: RxCreatorFullDuplex<'d, Dm>,
}
unstable
only.Expand description
Parallel IO in full duplex mode
Full duplex mode might limit the maximum possible bit width.
Fields§
§tx: TxCreatorFullDuplex<'d, Dm>
The transmitter (TX) channel responsible for handling DMA transfers in the parallel I/O full-duplex operation.
rx: RxCreatorFullDuplex<'d, Dm>
The receiver (RX) channel responsible for handling DMA transfers in the parallel I/O full-duplex operation.
Implementations§
Source§impl<'d> ParlIoFullDuplex<'d, Blocking>
impl<'d> ParlIoFullDuplex<'d, Blocking>
Sourcepub fn new<CH>(
_parl_io: impl Peripheral<P = PARL_IO> + 'd,
dma_channel: impl Peripheral<P = CH> + 'd,
frequency: Rate,
) -> Result<Self, Error>where
CH: DmaChannelFor<PARL_IO>,
pub fn new<CH>(
_parl_io: impl Peripheral<P = PARL_IO> + 'd,
dma_channel: impl Peripheral<P = CH> + 'd,
frequency: Rate,
) -> Result<Self, Error>where
CH: DmaChannelFor<PARL_IO>,
Create a new instance of ParlIoFullDuplex
Sourcepub fn into_async(self) -> ParlIoFullDuplex<'d, Async>
pub fn into_async(self) -> ParlIoFullDuplex<'d, Async>
Convert to an async version.
Sourcepub fn set_interrupt_handler(&mut self, handler: InterruptHandler)
pub fn set_interrupt_handler(&mut self, handler: InterruptHandler)
Sets the interrupt handler, enables it with crate::interrupt::Priority::min()
Interrupts are not enabled at the peripheral level here.
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
Sourcepub fn listen(&mut self, interrupts: impl Into<EnumSet<ParlIoInterrupt>>)
pub fn listen(&mut self, interrupts: impl Into<EnumSet<ParlIoInterrupt>>)
Listen for the given interrupts
Sourcepub fn unlisten(&mut self, interrupts: impl Into<EnumSet<ParlIoInterrupt>>)
pub fn unlisten(&mut self, interrupts: impl Into<EnumSet<ParlIoInterrupt>>)
Unlisten the given interrupts
Sourcepub fn interrupts(&mut self) -> EnumSet<ParlIoInterrupt>
pub fn interrupts(&mut self) -> EnumSet<ParlIoInterrupt>
Gets asserted interrupts
Sourcepub fn clear_interrupts(&mut self, interrupts: EnumSet<ParlIoInterrupt>)
pub fn clear_interrupts(&mut self, interrupts: EnumSet<ParlIoInterrupt>)
Resets asserted interrupts
Source§impl<'d> ParlIoFullDuplex<'d, Async>
impl<'d> ParlIoFullDuplex<'d, Async>
Sourcepub fn into_blocking(self) -> ParlIoFullDuplex<'d, Blocking>
pub fn into_blocking(self) -> ParlIoFullDuplex<'d, Blocking>
Convert to a blocking version.
Trait Implementations§
Source§impl InterruptConfigurable for ParlIoFullDuplex<'_, Blocking>
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.
impl InterruptConfigurable for ParlIoFullDuplex<'_, Blocking>
§Stability
This API is marked as unstable and is only available when the unstable
crate feature is enabled. This comes with no stability guarantees, and could be changed
or removed at any time.