2026-02-16 4:25 AM
Hi all,
I am using an STM32H5 micro. I need to send out a buffer of data at regular intervals. I use TIM15 to trigger the GPDMA which sends blocks of 6 bytes to the SPI. The SPI is programmed with TSIZE=6 to get the SS output low during the transmission. I absolutely need this. The screenshot below is the result from my code.
My problem is that the SPI only works ONCE. It seems to be stuck afterwards, I observe that CSTART of the SPI goes to 0. How can I get the SPI going on with TSIZE > 0 ?
Solved! Go to Solution.
2026-02-16 5:53 AM
Keeping TSIZE=0 is one way. If you set TSIZE>0 and then complete a transaction, you will need to set CSTART again for the next transaction. This is difficult to do with DMA.
You do not need to set TSIZE to get SS output to be low during the transaction.
2026-02-16 5:53 AM
Keeping TSIZE=0 is one way. If you set TSIZE>0 and then complete a transaction, you will need to set CSTART again for the next transaction. This is difficult to do with DMA.
You do not need to set TSIZE to get SS output to be low during the transaction.
2026-02-16 10:31 PM
Hi, thank you for your remark, it works perfectly this way!