完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用STM32F407 作USB host, 配置为FS。用它接声卡。如果STM32F407 单向给 声卡传送音频,输出声音正常。或者 407单向接收声卡的音频,工作也正常。但是同时发送和接收声音(即同时作同步IN和OUT),USB就会出错,具体出错中断信号为 未完成周期性传输中断 或 Tx FIFO 空中断。
因为ST 对USB host 提供的 audio class例程只有stream out, 没有stream in。不知道是不是407对于同步双向传输处理速度不够造成? |
|
相关推荐
1个回答
|
|
STM32F407作为USB host驱动声卡时,如果出现同时发送和接收声音(即同时作同步IN和OUT)时USB出错,可能有以下几个原因:
1. **资源限制**:STM32F407的USB控制器可能在处理同步IN和OUT时,由于资源限制(如DMA通道、FIFO大小等)导致无法同时处理两个方向的数据传输。 2. **中断处理**:STM32F407的中断处理可能不足以应对同时进行的IN和OUT操作。如果中断处理不当,可能会导致数据传输中断或者FIFO溢出/空中断。 3. **驱动程序问题**:STM32F407的USB host驱动程序可能存在一些问题,导致在处理同步IN和OUT时出现问题。这可能需要检查驱动程序的实现,看看是否有需要优化的地方。 4. **USB协议栈问题**:STM32F407使用的USB协议栈可能在处理音频类设备时存在一些问题,特别是在处理同步IN和OUT时。可以尝试查找是否有更新的协议栈或者是否有其他开发者遇到类似问题并提供了解决方案。 5. **硬件问题**:STM32F407的硬件可能在处理高速数据传输时存在一些问题,导致在同步IN和OUT时出现问题。可以尝试检查硬件连接是否稳定,以及是否有其他硬件故障。 为了解决这个问题,你可以尝试以下方法: 1. **优化中断处理**:检查STM32F407的中断处理代码,确保在处理IN和OUT操作时能够正确地处理中断。 2. **调整DMA设置**:检查STM32F407的DMA设置,确保在处理同步IN和OUT时有足够的DMA通道和FIFO空间。 3. **查找更新的驱动程序或协议栈**:查找是否有更新的STM32F407 USB host驱动程序或USB协议栈,看看是否有针对音频类设备的优化。 4. **分时处理**:如果可能,尝试将IN和OUT操作分时处理,以减轻STM32F407的负担。 5. **寻求社区帮助**:在STM32F407的开发者社区中寻求帮助,看看是否有其他开发者遇到类似问题并提供了解决方案。 6. **硬件检查**:检查STM32F407的硬件连接和稳定性,确保没有硬件故障影响数据传输。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1618 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1545 浏览 1 评论
979 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1597 浏览 2 评论
1865浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
647浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
517浏览 3评论
534浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
506浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 04:06 , Processed in 0.806996 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号