2025-04-21 3:27 PM
I took the following code example from STM32h747 discovery git. Even though I have specified the number of channels as "2". The data at location 1, soon is zero which means R right channel data is always zero.
Please let me know if something is wrong.
Thanks,
Haresh E.L.
ALIGN_32BYTES (uint16_t inpBuf[AUDIO_IN_BUFFER_SIZE]) __attribute__((section(".RAM_D2")));
ALIGN_32BYTES (uint16_t outBuf[AUDIO_IN_BUFFER_SIZE]) __attribute__((section(".RAM_D2")));
uint32_t channel_nbr = 2;
AudioFreq_Ptr = AudioFreq+2; /* AUDIO_FREQUENCY_16K; */
AnalogAudioOutInit.Device = AUDIO_OUT_DEVICE_AUTO;
AnalogAudioOutInit.ChannelsNbr = channel_nbr;
AnalogAudioOutInit.SampleRate = *AudioFreq_Ptr;
AnalogAudioOutInit.BitsPerSample = AUDIO_RESOLUTION_16B;
AnalogAudioOutInit.Volume = AnalogVolumeLevel;
AnalogAudioInInit.Device = AUDIO_IN_DEVICE_ANALOG_MIC;
AnalogAudioInInit.ChannelsNbr = 2;
AnalogAudioInInit.SampleRate = *AudioFreq_Ptr;
AnalogAudioInInit.BitsPerSample = AUDIO_RESOLUTION_16B;
AnalogAudioInInit.Volume = AnalogVolumeLevel;
BSP_AUDIO_OUT_Init(0, &AnalogAudioOutInit);
BSP_AUDIO_IN_Init(0, &AnalogAudioInInit);
BSP_AUDIO_OUT_SetDevice(0, AUDIO_OUT_DEVICE_HEADPHONE);
BSP_AUDIO_IN_Record(0, &inpBuf[0], 2*AUDIO_IN_BUFFER_SIZE);
BSP_AUDIO_OUT_Play(0, &outBuf[0], 2*AUDIO_IN_BUFFER_SIZE);
while(1){
HAL_Delay(3);
}