2022-05-16 01:58 AM
2022-05-16 02:02 AM
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.