Showing results for 
Search instead for 
Did you mean: 

How to implement Full Duplex SPI communication in STM32H745 in blocking method?

Mr. AK
Associate III

I'm trying to implement SPI Full Duplex communication in NUCLEO-H745ZI-Q board by configuring CM7 as Master & CM4 as slave. I used the function HAL_SPI_TransmitReceive() in both the cores but could not get the expected result.

I tried to debug and found out that transmission(Tx) from Master (CM7) is happening; SPI1 status reg gave the default value and TSIZE was changing with each step over (still TXC, once cleared during Tx, is not getting set again so Tx at CM7 is ongoing; I think). But I cannot confirm Tx for CM4 (the slave) as TSIZE is always zero (0x40013414: 0000 0002). Both cores are not receiving for sure as RXP is never set.

So I think transmission at CM7 is always going on and could be the reason why SPI is not working.

I'm using STM32CUBE-IDE, Clock : HSE with 480Mhz (CM7) & 240 (CM4),

CM7-> Full duplex SPI, Master -> SPI1 (PA5, PA6, PB5)

CM4-> Full duplexSPI, slave ->SPI4 (PE12, PE13,PE14)

Parameters: 8 bit, Motorola std, MSB first.

I used STM32Cube-MX for code generation.

Please help soon