I2S con DAC externo, música solo en un canal

0

Estoy intentando conectar DAC CS4398 a STM32F407. El problema es con la frecuencia de reloj. Yo inicio I2S así:

hi2s2.Instance = SPI2;
hi2s2.Init.Mode = I2S_MODE_MASTER_TX;
hi2s2.Init.Standard = I2S_STANDARD_MSB;
hi2s2.Init.DataFormat = I2S_DATAFORMAT_16B;
hi2s2.Init.MCLKOutput = I2S_MCLKOUTPUT_ENABLE;
hi2s2.Init.AudioFreq = ((uint32_t)88200U);
hi2s2.Init.CPOL = I2S_CPOL_LOW;
hi2s2.Init.ClockSource = I2S_CLOCK_PLL;
hi2s2.Init.FullDuplexMode = I2S_FULLDUPLEXMODE_DISABLE;
if (HAL_I2S_Init(&hi2s2) != HAL_OK){Error_Handler();}

La frecuencia de audio de mi archivo WAV es 44100 pero si pongo este valor en hi2s2.Init.AudioFreq, tengo una muestra de música lenta en mis auriculares.

Otro problema es que puedo escuchar música solo en el canal B. Escucho ruido en un canal A para cada muestra WAV. No es un problema de DMA o archivo, porque escucho música con éxito en el canal B (pero el archivo es WAV estéreo). Además, el ruido en el canal B dura la duración de la muestra WAV. ¿Qué comprobar?

¡Gracias!

    
pregunta Tryam

0 respuestas

Lea otras preguntas en las etiquetas