STM32H7 SPI CS Question
I have been having a bit of trouble getting an SPI CS line to behave as I expect it should. I have attached a snippet from the technical reference manual below that describes the operation modes of the CS line:
I am currently trying to send packets of 24bits on SPI4 which has a max packet size of 16bits. Since the hardware mode uses the packet size to set the EOT flag and the EOT flag is used to pull the CS line high I cannot send a continuous 24bit packet using the hardware mode.
I figured alternatively I would be able to use the software mode and configure the CS line as a GIO and manually pull it low before beginning a DMA SPI transmit and pulling it high again using the SPI_DMATransmitCplt() call back function. When I try to do this I find that there several points where the CS line is pulled high for 20ns during the transmission. I have attached a logic analyzer screenshot below for reference:
When I debug with a break point within the DMA call back function I find it it isn't called at any point. It seems that the SPI driver is still setting the CS line high even in software management mode. Is there something I am misunderstanding about how this driver behaves?
