pub struct I2sParallel<'d, Dm>where
Dm: DriverMode,{ /* private fields */ }unstable only.Expand description
I2S parallel interface
§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.
Implementations§
Source§impl<'d> I2sParallel<'d, Blocking>
impl<'d> I2sParallel<'d, Blocking>
Sourcepub fn into_async(self) -> I2sParallel<'d, Async>
pub fn into_async(self) -> I2sParallel<'d, Async>
Converts the I2S parallel instance into Async mode.
Sourcepub fn set_interrupt_handler(&mut self, handler: InterruptHandler)
pub fn set_interrupt_handler(&mut self, handler: InterruptHandler)
Sets the interrupt handler for the I2S parallel peripheral.
The new handler removes the old handler. This method does not turn on
the interrupt sources. Use Self::listen to turn on interrupt
sources.
§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<I2sParallelInterrupt>>)
pub fn listen(&mut self, interrupts: impl Into<EnumSet<I2sParallelInterrupt>>)
Turns on the given interrupt sources.
§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 unlisten(&mut self, interrupts: impl Into<EnumSet<I2sParallelInterrupt>>)
pub fn unlisten(&mut self, interrupts: impl Into<EnumSet<I2sParallelInterrupt>>)
Turns off the given interrupt sources.
§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 interrupts(&mut self) -> EnumSet<I2sParallelInterrupt>
pub fn interrupts(&mut self) -> EnumSet<I2sParallelInterrupt>
Returns the interrupt sources that are set.
§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 clear_interrupts(
&mut self,
interrupts: impl Into<EnumSet<I2sParallelInterrupt>>,
)
pub fn clear_interrupts( &mut self, interrupts: impl Into<EnumSet<I2sParallelInterrupt>>, )
Clears the interrupt flags of the given interrupt sources.
§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.
Source§impl<'d> I2sParallel<'d, Async>
impl<'d> I2sParallel<'d, Async>
Sourcepub fn into_blocking(self) -> I2sParallel<'d, Blocking>
pub fn into_blocking(self) -> I2sParallel<'d, Blocking>
Converts the I2S parallel instance into Blocking mode.
Source§impl<'d, Dm> I2sParallel<'d, Dm>where
Dm: DriverMode,
impl<'d, Dm> I2sParallel<'d, Dm>where
Dm: DriverMode,
Sourcepub fn send<BUF: DmaTxBuffer>(
self,
data: BUF,
) -> Result<I2sParallelTransfer<'d, BUF, Dm>, (DmaError, Self, BUF)>
pub fn send<BUF: DmaTxBuffer>( self, data: BUF, ) -> Result<I2sParallelTransfer<'d, BUF, Dm>, (DmaError, Self, BUF)>
Starts a DMA transfer that writes the buffer to the I2S parallel
interface and returns an I2sParallelTransfer that can be used to
wait for the transfer to complete.
§Errors
Returns a DmaError when the buffer cannot be prepared for the
transfer or the transfer cannot be started. On error, the driver and
the buffer are returned together with the error.
Source§impl<'d> I2sParallel<'d, Blocking>
impl<'d> I2sParallel<'d, Blocking>
Sourcepub fn new<I: Instance + 'd>(
i2s: I,
channel: impl I2sParallelDmaChannel<'d, I>,
frequency: Rate,
pins: impl TxPins<'d>,
clock_pin: impl PeripheralOutput<'d>,
) -> Self
pub fn new<I: Instance + 'd>( i2s: I, channel: impl I2sParallelDmaChannel<'d, I>, frequency: Rate, pins: impl TxPins<'d>, clock_pin: impl PeripheralOutput<'d>, ) -> Self
Creates a new I2sParallel instance.
§Panics
Panics if the DMA channel is not compatible with the I2S instance.
Trait Implementations§
Source§impl InterruptConfigurable for I2sParallel<'_, 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 I2sParallel<'_, 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.