This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2564C:我的定制板的 AUD 演示问题

Guru**** 2753205 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/796279/cc2564c-aud-demo-problem-with-my-custom-board

器件型号:CC2564C

大家好

我使用 CC2564C 的 AUD 演示 来连接我的定制板(MCU:STM32F401)和 NAU8814编解码器。 A2DP 工作正常、我知道声音数据会蒸制到我的定制板、但当我将声音数据传递到编解码器时、声音会损坏。

在同一电路板上播放波形文件时、编解码器工作正常、因此我认为问题可能是由解码器和编解码器之间的数据传递或播放方法引起的。 以下是 AUDDemo.c 中修改的代码:

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

在 AudDemo.c -> API InitializeAudioDecoder()中

F401
       如果(_initialize (PlaybackContext.StreamConfig.StreamFormat.SampleFrequency)=0)        // 初始化 NAU8814
其他
       if (!Initialize_audio (PlaybackContext.StreamConfig.StreamFormat.SampleFrequency))
#endif  

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

在 AUDI演 示.c -> API 解码()中

/*检查我们是否正在等待之前构建样片*/
/*我们开始播放音频。 *
if (PlaybackContext.AudioState ==正在播放)

/*更新可用的音频样本数量*/
要播放的//*。 *
PlaybackContext.NumAudioSamples += DecodedData.LeftChannelDataLength;

F401
      bsp_audio_out_play (&PlaybackContext.LeftChannelBuffer[PlaybackContext.OutIndex]、PlaybackContext.NumAudioSamples);//Kevin 0423
其他
      SPI_I2S_ITConfig (AUDIO_I2S_BASE、SPI_I2S_IT_TXE、启用);
#endif

其他

/*检查我们是否正在等待构建样片*/
//开始播放音频之前。 *
if (PlaybackContext.AudioState == asDecoding)

PlaybackContext.NumAudioSamples += DecodedData.LeftChannelDataLength;

/*检查我们是否有足够的样本来开始。 *
if (PlaybackContext.NumAudioSamples >=(audio_buffer_size >> 1))

/*现在是开始音频的时候了,所以请启用*/
/*音频中断。 *
PlaybackContext.AudioState = asPlaying;

F401
       bsp_audio_out_play (&PlaybackContext.LeftChannelBuffer[PlaybackContext.OutIndex]、PlaybackContext.NumAudioSamples);//Kevin 0423
其他
       SPI_I2S_ITConfig (AUDIO_I2S_BASE、SPI_I2S_IT_TXE、启用);
#endif


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 请提供帮助、谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Kevin、

    您是否已验证 I2S 线路上的 PCM 数据格式是否正确? 如果不是、您可能可以使用逻辑分析仪捕获 I2S 线路上的流量。

    此致、
    Vihang