STM32F746G-Disco no I2S Output on I2S2 on arduino Header
What I want to achive:
I2S Audio Output on the included Arduino Header of the STM32F746G-Disco Board to drive a MAX98357A class-D amplifier.
PB4 I2S2_WS on Ardunio D3
PI1 I2S2_CK on Ardunio D7
PI3 I2S2_SD on Arduino D13
To ensure that no configurable solder bridge is missing, I toggled the Pins in GPIO output mode and tested the output with my Logic Analyzer. All 3 pins are toggling as expected.
Then I created the attached CubeMX 6.14.1 *.ioc file to configure the hardware.
I want to use IRQs and DMA fo I2S Audio (48kHz sample rate, 16bit stereo) output in a loop.
I implemented some data buffer and the callback functions (see ateached .c file) and start the initial I2S data transfer with
HAL_I2S_Transmit_DMA(...);
what I expect to happen next:
a CK signal
a WS signal
some data on the SD signal.
a HAL_I2S_TxHalfCpltCallback
a HAL_I2S_TxCpltCallback
What I get:
I2S_TX_Status is OK from initial HAL_I2S_Transmit_DMA(...);
absolute no activity on the I2S lines, just flat lines after reset
The rest of the firmware (LTDC video output is working, some GPIO Input is working and its status is updated on the display) is working as expected.
After fiddling around with the I2S settings (clocks, DMA mode, IT mode, poll mode) and absolutely no change on the I2S lines,
I also created a new empty project just with clocks and I2S2 enabled, witth the same result, just flat lines on the I2S2 lines.
I am clueless how to tackle this issue.
Can someone give me a hint ?
Best regards,
Markus.
