没有来自 PC 的音频数据发送到 STM32F4 音频类 USB

Posted

技术标签:

【中文标题】没有来自 PC 的音频数据发送到 STM32F4 音频类 USB【英文标题】:no audio data from PC send to STM32F4 audio class USB 【发布时间】:2019-07-10 22:18:54 【问题描述】:

我正在从事一个音频项目。我们像USB音频设备一样使用stm32f407从PC获取音频数据,然后通过I2S模块发送出去。我们正在使用 stm32f4 Discovery 套件和 STM32cubeMX。按照这个video生成代码后,我什么都不做,刷到Kit;我的电脑识别出 STM 音频设备,但在播放音乐时没有任何数据发送到我的套件,除了 MuteCMD 。我的问题是:

PC 到 Kit 的数据流时,不知道回调哪个函数。

为什么 PC 识别出我的套件是音频输出设备,但是当我在 PC 上配置音量并且没有任何音乐数据发送到我的设备时,没有调用音量控制的回调。当我将 PC 静音时,会调用唯一的一个静音控制回调函数。

这是我在 STM32cubeMX 中的配置

引脚配置图

USB 设备配置图 1

USB 设备配置图 2

USB 设备配置图 3

PC识别AUDIO设备图

选择PC的音频输出设备图

无法播放测试音图

【问题讨论】:

【参考方案1】:

您应该将 USBD_AUDIO_FREQ 设置为 22050(或 44100 或 11025)。您的值为 22100,Windows 或内置音频驱动程序似乎无法使用该频率。

【讨论】:

【参考方案2】:

我遇到了完全相同的问题。 我的项目是从 STM32Cube 生成的。 Windows 将 F7-DISCO 板识别为声卡,但无法播放测试声音。

我将 USBD_AUDIO_FREQ 更改为 48000 并将 PID 更改为 0x5730(十进制为 22320)。 然后一切正常。

【讨论】:

以上是关于没有来自 PC 的音频数据发送到 STM32F4 音频类 USB的主要内容,如果未能解决你的问题,请参考以下文章

STM32F4 上的 USB 音频输入

STM32F4:使用 FatFs 和 USB 的 SD 卡失败

STM32F4 串口实验中收不到超级终端发送的数据,调试工具却能够

STM32F4 UART1 DMA发送和接收不定长度数据

stm32f4 如何往外部存储sram写数据

STM32F4在半双工/单工模式下停用SPI的正确方法