[STM32]
记录一下,防止后来忘了。
今天在用F407做USB声卡,希望能够实现USB麦克风。结果MCU一直无法发送数据。
用USB分析仪看了一下,MCU一直在发零长度的数据包。
对照参考手册,是IN端点的SNAK寄存器被置为1了。
经过排查,在HAL_PCD_IRQHandler中有关于Incomplete ISO IN中断的处理,会Disable端点。
在stm32f407xx.h中,将USB_OTG_GINTMSK_IISOXFRM_Msk的值从1改为0,以此屏蔽Incomplete ISO IN中断。最终数据可以正常输出。
当然这是快速验证的方法。
实际使用应该是在主机请求设置interface的时候重新Enable端点。
更多推荐
[STM32]
发布评论