Skip to main content
KRega.1
Associate III
July 20, 2021
Question

STM32H725 No SPI6/I2S6 NVIC ?

  • July 20, 2021
  • 2 replies
  • 2830 views

Hey guys,

I see an spi6_it signal in the NVIC table in the reference manual RM0468.

I'm trying to use the NVIC interrupt for I2S6 and there is no tab for it in the MX Cube.

I'm also using I2S1,I2S2, I2S3 which have the NVIC and I'm able to use interrupt.

Is this just an MX cube problem? I also do not see the "Real Audio Frequency" and "Error between selected and real" numbers updated in the I2S6 tab. I'm using the same clock source for all I2S's.

If this is an error in MX cube, how would I setup an NVIC in code?

This topic has been closed for replies.

2 replies

TDK
Super User
July 20, 2021

It appears to be a bug, unless I'm missing something. There is an entry for SPI6 interrupts in the vector table.

You would set it up just like the other code peripherals in there. Set it up with SPI3, for example, then duplicate the code and replace SPI3 with SPI6, hspi3 with hspi6, etc.

"If you feel a post has answered your question, please click ""Accept as Solution""."
KRega.1
KRega.1Author
Associate III
July 20, 2021

Well when I try to use I2S6/SPI6 handle with function: HAL_I2S_Transmit_IT(&hi2s6, Temp3, 2); does not work even with other handles that do work.

	 while(1)
	 {
			Temp[0] = NorthSpeakerSamples[NS_S];
			Temp[1] = SouthSpeakerSamples[SS_S];
			HAL_I2S_Transmit_IT(&hi2s1, Temp, 2);
 
			Temp1[0] = EastSpeakerSamples[ES_S];
			Temp1[1] = WestSpeakerSamples[WS_S];
			HAL_I2S_Transmit_IT(&hi2s2, Temp1, 2);
 
			Temp2[0] = NorthCoilSamples[NC_S];
			Temp2[1] = SouthCoilSamples[SC_S];
			HAL_I2S_Transmit_IT(&hi2s3, Temp2, 2);
 
			Temp3[0] = EastCoilSamples[EC_S];
			Temp3[1] = WestCoilSamples[WC_S];
			HAL_I2S_Transmit_IT(&hi2s6, Temp3, 2);
	 }

I know there is some additional code that is generated for the interrupt, but I cannot find in my files where MX generates this code. Anyone know where MX generates this code?

TDK
Super User
July 20, 2021
Initialization is in main.c and *_msp.c, interrupt handler is in *_it.c.
"If you feel a post has answered your question, please click ""Accept as Solution""."
Khouloud ZEMMELI
ST Employee
August 5, 2021

Hello @KRega.1​ ,

You're right, I have check from my side and I confirm the issues (: the Missed NVIC tab and the blocked Master Clock Output check-box).

Thank you for raising them to our attention and we're deeply sorry for any inconvenience that may have caused, they will be fixed.

For the problem linked to "Real Audio Frequency" and "Error between selected and real", if you still face any issue, please give me more details to be able to reproduce it.

Thanks again for your contribution, Khouloud