cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H7 Full-duplex I2S and DMA issue

HungKai.Chien
Associate II

We have used the I2S and DMA function.

1 REPLY 1
HungKai.Chien
Associate II

We set the I2S master full duplex and cannot achieve cyclic execution.only run once.

Under the same setting, half-duplex can be executed normally by executing TX or RX alone.

    1. hi2s1.Init.Mode = I2S_MODE_MASTER_TX 

     HAL_I2S_Transmit_DMA(&hi2s1, (uint16_t *)OutputBuffer1, BufferSize*2);

     MASTER TX work narmally.

    2. hi2s1.Init.Mode = I2S_MODE_MASTER_RX

     HAL_I2S_Receive_DMA(&hi2s1, (uint16_t *)InputBuffer1, BufferSize*2) 

      MARTER RX work narmally.

    3. hi2s1.Init.Mode = I2S_MODE_MASTER_FULLDUPLEX

     used HAL_I2SEx_TransmitReceive_DMA(&hi2s1, (uint16_t *)OutputBuffer1, (uint16_t *)InputBuffer1, BufferSize*2)

   MARTER full duplex runs only once.