cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H747 discovery board audio recording issue

hareshel
Associate

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);

}

0 REPLIES 0