cancel
Showing results for 
Search instead for 
Did you mean: 

Stm32H743 spi function question

ToonToon
Associate

I developed with the stm32f756 chip and then switched to the stm32h743 chip.
Then, the functions "LL_SPI_TX_FIFO_FULL", "LL_SPI_IsActiveFlag_BSY", "LL_SPI_IsActiveFlag_TXE", and "LL_SPI_IsActiveFlag_RXNE" that were in "stm32f7xx_ll_spi.h" cannot be found in "stm32h7xx_ll_spi.h". What is the reason and which function should I use to use those functions in stm32h?

Please share your knowledge. Thank you.

1 ACCEPTED SOLUTION

Accepted Solutions
FBL
ST Employee

Hello @ToonToon 

H7 HAL driver has different implementation compared to F7. Check AN5293 migration guide, section 11 dedicated for SPI interface showing differences in features, eventually implementation in HAL. For example, on F7, LL_SPI_IsActiveFlag_TXE and RXNE to check if Rx/Tx buffer is not empty. However, on H7, LL_SPI_SR_RXP and LL_SPI_SR_TXP are defined...

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

4 REPLIES 4
FBL
ST Employee

Hello @ToonToon 

H7 HAL driver has different implementation compared to F7. Check AN5293 migration guide, section 11 dedicated for SPI interface showing differences in features, eventually implementation in HAL. For example, on F7, LL_SPI_IsActiveFlag_TXE and RXNE to check if Rx/Tx buffer is not empty. However, on H7, LL_SPI_SR_RXP and LL_SPI_SR_TXP are defined...

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Andrew Neil
Evangelist III

It's in the nature of the LL APIs that they are "close" to the hardware - so they shouldn't be expected to be portable.

Thank you for answer. It was very helpful. But I can't find a way to replace LL_SPI_IsActiveFlag_BSY. Is there any other function that can replace it?

@ToonToon - did you not see the suggestion from @FBL :

 

on H7, LL_SPI_SR_RXP and LL_SPI_SR_TXP are defined...