ST STM32L4x6 Reference Manual page 1297

Table of Contents

Advertisement

RM0351
1.
Enable DMA Rx buffer in the RXDMAEN bit in the SPI_CR2 register, if DMA Rx is
used.
2.
Enable DMA streams for Tx and Rx in DMA registers, if the streams are used.
3.
Enable DMA Tx buffer in the TXDMAEN bit in the SPI_CR2 register, if DMA Tx is used.
4.
Enable the SPI by setting the SPE bit.
To close communication it is mandatory to follow these steps in order:
1.
Disable DMA streams for Tx and Rx in the DMA registers, if the streams are used.
2.
Disable the SPI by following the SPI disable procedure.
3.
Disable DMA Tx and Rx buffers by clearing the TXDMAEN and RXDMAEN bits in the
SPI_CR2 register, if DMA Tx and/or DMA Rx are used.
Packing with DMA
If the transfers are managed by DMA (TXDMAEN and RXDMAEN set in the SPIx_CR2
register) packing mode is enabled/disabled automatically depending on the PSIZE value
configured for SPI TX and the SPI RX DMA channel. If the DMA channel PSIZE value is
equal to 16-bit and SPI data size is less than or equal to 8-bit, then packing mode is
enabled. The DMA then automatically manages the write operations to the SPIx_DR
register.
If data packing mode is used and the number of data to transfer is not a multiple of two, the
LDMA_TX/LDMA_RX bits must be set. The SPI then considers only one data for the
transmission or reception to serve the last DMA transfer (for more details refer to
packing on page
1295.)
DocID024597 Rev 3
Serial peripheral interface (SPI)
Data
1297/1685
1317

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the STM32L4x6 and is the answer not in the manual?

Questions and answers

Table of Contents

Save PDF