请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

求助STM32F413 USB Audio问题

[复制链接]
zhuangwf 提问时间:2019-7-20 09:21 /
本人新手一枚。
我在 STM32F413 discovery 板子上试验 USB Audio,参考了本论坛的文章 https://www.stmcu.org.cn/module/forum/thread-615950-1-1.html
我先用 STM32CubeMX 5.2.1 生成代码框架,然后再把 STM32CubeF4 V1.24.1 里面的 stm32f413h_discovery.c, stm32f413h_discovery_audio.c, wm8994.c 这几个源文件添加到工程里,用的 toolchain 是 IAR 8.30。
现在的问题是,如果在 usbd_audio_if.c 里面函数 AUDIO_Init_FS 里面什么都不调那么能成功地枚举出 "STM32 Audio Class" 设备,
但是只要 AUDIO_Init_FS 里面调了 BSP_AUDIO_OUT_Init 就会枚举失败,显示“未知 USB 设备”,跟踪 BSP_AUDIO_OUT_Init 的执行过程没发现问题,
而且这个函数返回值也是OK,但是紧接着 AUDIO_DeInit_FS 就被调了,也跟踪了 USB 中断和 DMA 中断都有,查了好几天查不出原因,时钟配置好像也没问题,求助坛友帮忙指导,多谢!

收藏 评论10 发布时间:2019-7-20 09:21

举报

10个回答
天臆弄人 回答时间:2019-7-20 10:24:15
慢慢调试,总会找到的
zhuangwf 回答时间:2019-7-20 22:14:24
天臆弄人 发表于 2019-7-20 10:24
慢慢调试,总会找到的

谢谢
zhuangwf 回答时间:2019-7-21 17:05:35
顶一顶
zhuangwf 回答时间:2019-7-23 11:41:23
USB枚举失败的原因找到了,还是因为时钟配置有问题。查看了 STM32CubeMX 里面的 Clock Configuration 里 USB 时钟缺省是从 PLLI2S 过来的,而 BSP_AUDIO_OUT_Init 里面会调 BSP_AUDIO_OUT_ClockConfig 对 I2S 时钟重新配置,结果同时改变了 USB 时钟造成 USB 不能正常通信所以出现 “未知 USB 设备”。重新配置了 USB 和 I2S 时钟,现在可以正常地枚举出 "STM32 Audio Class" 设备了。

但还是有问题:播放没有声音,目前查到 USB 数据过来了但是 DMA 往 I2S 传数据只传了一次就停了,发现 usbd_audio_if.c 里面调到 BSP_AUDIO_OUT_ChangeBuffer 时参数 size 是 0 所以停掉了,不知道为什么。高手们这个有经验吗?
Delei 回答时间:2019-8-12 14:11:56
楼主,请问下,成功枚举后是否需要安装STM32 Audio Class的驱动,我的显示没有合适的驱动,其他都对。
找不到驱动。。。

11.jpg
zhuangwf 回答时间:2019-9-10 20:25:08
delei 发表于 2019-8-12 14:11
楼主,请问下,成功枚举后是否需要安装STM32 Audio Class的驱动,我的显示没有合适的驱动,其他都对。
找不 ...

不需要装驱动,Windows支持标准的USB Audio Class设备
Delei 回答时间:2019-10-13 10:09:11
zhuangwf 发表于 2019-9-10 20:25
不需要装驱动,Windows支持标准的USB Audio Class设备

你说的是Win10吧,Win7是不支持的,我换了Win10系统就可以了
Delei 回答时间:2019-10-13 10:10:47
zhuangwf 发表于 2019-9-10 20:25
不需要装驱动,Windows支持标准的USB Audio Class设备

需要换成Win10系统才行,如果你用的Win7或者之前的版本就不行,系统没有集成USB Audio Class设备驱动
xuqingli 回答时间:2019-10-14 16:24:50
delei 发表于 2019-10-13 10:10
需要换成Win10系统才行,如果你用的Win7或者之前的版本就不行,系统没有集成USB Audio Class设备驱动 ...

额,不是吧,WIN7支持USB AUDIO 1.0也就是全速,如果你是USB AUDIO 2.0,win7是不支持的,win10支持。
xuqingli 回答时间:2019-10-14 16:26:52
delei 发表于 2019-10-13 10:10
需要换成Win10系统才行,如果你用的Win7或者之前的版本就不行,系统没有集成USB Audio Class设备驱动 ...

如果你的是USB AUDIO CLASS1.0,枚举的全速设备,WIN7上面不成功,你可以换一台WIN7电脑试一下,如果还不行,只能说明你代码有问题。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版