没有音频数据从PC发送到STM32F4音频类USB

时间:2019-02-17 09:40:22

标签: audio usb stm32f4discovery stm32cubemx

我正在一个音频项目中。我们使用stm32f407像USB音频设备一样从PC获取音频数据,然后通过I2S模块发送出去。我们正在使用stm32f4发现套件和STM32cubeMX。遵循此video生成代码后,我什么也没做,并闪烁到Kit;我的PC可以识别出STM Audio设备,但是播放音乐时没有任何数据发送到我的套件,除了MuteCMD。我的问题是:

  • 我不知道从PC到Kit的数据流是哪个回调函数。

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

这是我在STM32cubeMX中的配置

引脚配置图 pinout config figure

USB设备配置图1 USB device config figure 1

USB设备配置图2 USB device config figure 2

USB设备配置图3 USB device config figure 3

PC识别AUDIO设备图 PC identifies AUDIO device figure

选择PC的音频输出设备图 choosing PC's audio output device figure

无法播放测试音调数字 fail to play test tone figure

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

enter image description here

enter image description here