Struct esp32c3_hal::spi::dma::SpiDma
source · pub struct SpiDma<'d, T, TX, RX, P>where
TX: Tx,
RX: Rx,
P: SpiPeripheral,{ /* private fields */ }
Expand description
A DMA capable SPI instance.
Implementations§
source§impl<'d, T, TX, RX, P> SpiDma<'d, T, TX, RX, P>where
T: InstanceDma<TX, RX>,
TX: Tx,
RX: Rx,
P: SpiPeripheral,
impl<'d, T, TX, RX, P> SpiDma<'d, T, TX, RX, P>where
T: InstanceDma<TX, RX>,
TX: Tx,
RX: Rx,
P: SpiPeripheral,
sourcepub fn dma_write<TXBUF>(
self,
words: TXBUF
) -> Result<SpiDmaTransfer<'d, T, TX, RX, P, TXBUF>, Error>where
TXBUF: ReadBuffer<Word = u8>,
pub fn dma_write<TXBUF>(
self,
words: TXBUF
) -> Result<SpiDmaTransfer<'d, T, TX, RX, P, TXBUF>, Error>where
TXBUF: ReadBuffer<Word = u8>,
Perform a DMA write.
This will return a SpiDmaTransfer owning the buffer(s) and the SPI instance. The maximum amount of data to be sent is 32736 bytes.
sourcepub fn dma_read<RXBUF>(
self,
words: RXBUF
) -> Result<SpiDmaTransfer<'d, T, TX, RX, P, RXBUF>, Error>where
RXBUF: WriteBuffer<Word = u8>,
pub fn dma_read<RXBUF>(
self,
words: RXBUF
) -> Result<SpiDmaTransfer<'d, T, TX, RX, P, RXBUF>, Error>where
RXBUF: WriteBuffer<Word = u8>,
Perform a DMA read.
This will return a SpiDmaTransfer owning the buffer(s) and the SPI instance. The maximum amount of data to be received is 32736 bytes.
sourcepub fn dma_transfer<TXBUF, RXBUF>(
self,
words: TXBUF,
read_buffer: RXBUF
) -> Result<SpiDmaTransferRxTx<'d, T, TX, RX, P, RXBUF, TXBUF>, Error>where
TXBUF: ReadBuffer<Word = u8>,
RXBUF: WriteBuffer<Word = u8>,
pub fn dma_transfer<TXBUF, RXBUF>(
self,
words: TXBUF,
read_buffer: RXBUF
) -> Result<SpiDmaTransferRxTx<'d, T, TX, RX, P, RXBUF, TXBUF>, Error>where
TXBUF: ReadBuffer<Word = u8>,
RXBUF: WriteBuffer<Word = u8>,
Perform a DMA transfer.
This will return a SpiDmaTransfer owning the buffer(s) and the SPI instance. The maximum amount of data to be sent/received is 32736 bytes.