Showing results for 
Search instead for 
Did you mean: 

Why is no data being written to the DMA receive buffer in memory while using I2S in Master Recieve Mode with 24-bit data in STMH743ZI2?


Hello everyone,

I am facing an issue while trying to interface a 24-bit PCM mic with the STMH743ZI2 microcontroller using I2S2 in master receive mode with 24-bit data in a 32-bit frame(set using CubeMX). Although I have placed the I2S buffer in the address space of SRAM1 to enable the DMA controller to access it, I am not able to see any data being written to the buffer. I have also noticed that the CHLEN bit is set to 0 when DATLEN is 1, which appears to be incorrect.

Moreover, I have observed that I2S seems to be functioning correctly when configured in 16-bit mode with both 16 and 32-bit frames. I am wondering if anyone has encountered a similar problem while working with the STMH743ZI2 microcontroller and interfacing with a PCM mic using I2S in master receive mode?

If so, could you suggest any potential solutions or debugging steps that I could try to resolve this issue? You can find the code in the attached ZIP file. The Receive callback is configured such that and LED is set and unset based on a counter, showing that the callback is being fired, and that interrupts are getting triggered. I would appreciate any help or insights you could offer.

Thank you in advance for your assistance!