没有来自 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:使用 FatFs 和 USB 的 SD 卡失败