I'm using the standard SPI C24XX driver and even in DMA mode, the CS chip select pin is toggling between the bytes:
#include <ti/drivers/SPI.h> #include <ti/drivers/spi/SPICC26XXDMA.h> SPICC26XXDMA_Object spiCC26XXDMAObjects[1]; const SPICC26XXDMA_HWAttrsV1 spiCC26XXDMAHWAttrs[1] = { { .baseAddr = SSI0_BASE, .intNum = INT_SSI0_COMB, .intPriority = ~0, .swiPriority = 0, .powerMngrId = PowerCC26XX_PERIPH_SSI0, .defaultTxBufValue = 0xFF, .rxChannelBitMask = 1<<UDMA_CHAN_SSI0_RX, .txChannelBitMask = 1<<UDMA_CHAN_SSI0_TX, .mosiPin = Board_SPI0_MOSI, .misoPin = Board_SPI0_MISO, .clkPin = Board_SPI0_CLK, .csnPin = Board_SPI0_CS0, .minDmaTransferSize = 3 }, }; const SPI_Config SPI_config[1] = { { .fxnTablePtr = &SPICC26XXDMA_fxnTable, .object = &spiCC26XXDMAObjects[0], .hwAttrs = &spiCC26XXDMAHWAttrs[0] }, }; const uint_least8_t SPI_count = 1;
Then, I'm using SPI_transfer(spiHandle0, &t0);
As you can see in the following trace, SP_CS is toggling between the bytes and my sensor doesn't like this:
How can I avoid the toggling of the chip select? I have tried, longer/bigger transfer, it's the same problem.