[求助] STM32的USB组合设备:HID与Audio不能共存?

lvxn   2011-10-10 18:38 楼主

大家好,我试图在STM32USB平台上建立一个USB Composite device(组合设备)的应用。该组合设备是HID+Audio device。我的软件平台是STUSBUM0424V2.2.0)。在该库提供的例程Audio Speaker的程序中添加HID的应用。

       现在我已经在Audio Speaker这个例程中修改好了描述符,并使得它在XP系统下枚举成功了,如下图所示。

     device.JPG

    图中两个USB人体学设备中的一个就是添加进去的HID类设备,USB Audio device就是USB库原本有的音频设备,但是我修改成了USB MIC的应用(原有的库是USB Speaker的功能)。我现在HID的功能就是该USB库中提供的JoystickMouse的功能,实现鼠标的移动的功能。

       现在我遇到的情况是,我插入设备以后,设备枚举成功提示硬件已安装并可以使用后,我首先不打开PC中的录音设备,首先测试HID的功能,拨动我的开发板上的摇杆,鼠标的箭头能够正常移动。但是一旦我打开PC中的录音设备,Joystick的鼠标的功能就工作不正常了,但是这个时候MIC的音频流传输是正常的。鼠标的工作不正常体现在PC收到的HID report数据是混乱的,与我的摇杆按键毫无关系,以至于鼠标会有很多误操作。

       我也试图去自己解决这个问题,刚开始的时候我以为是USBIsochronous传输打断了USBInterrupt传输,因为Isochronous传输的中断优先级要高于Interrupter的传输的中断,所以我就把两个传输的中断优先级设成一样,然而我得到的结果是一样的。

       后来我怀疑音频的Isochronous传输端点的FIFOHIDInterrupter传输端点的FIFO有重叠,我计算了我在程序中设置的两个端点的缓冲区PMA地址与大小,我设置的地址确实没有重叠。并且ST提供的STM32F10xxx的参考手册上说,设置好了缓冲区地址与大小的端点,在IN传输和OUT传输的过程中是不会影响别的端点的缓冲区的内容的。

       我现在已经想不到解决办法了,我已经被这个问题卡了三天了。请大家帮帮我吧,我这个课题比较紧,没几天就得交工了。谢谢了!

[ 本帖最后由 lvxn 于 2011-10-10 22:15 编辑 ]

回复评论 (5)

求解决啊!

自顶一个
点赞  2011-10-10 22:29

STM32的USB组合设备:HID与Audio不能共存?

报告问题
点赞  2011-10-14 00:15

楼主 您好,小弟初学STM32单片机的USB,现在想做USB声卡,能把您源码给我一份吗?谢谢

小弟初学STM32单片机的USB,对USB不了解,现在想做USB声卡,能把您源码给我一份吗?谢谢!
可以的话,请发我邮箱  551677121@qq.com  
再次感谢
点赞  2012-6-12 17:05
朋友,你好,能否指导一下usb声卡的程序,我这里在64位系统和32位系统上声音都变了,而且都有杂音,不知道怎么一回儿事儿,我的QQ:358962436,谢谢
点赞  2015-5-11 17:06
你好,小弟初学STM32单片机的USB,对USB不了解,现在想做USB声卡,能把您源码给我一份吗?谢谢!
可以的话,请发我邮箱  775241263@qq.com  
点赞  2016-5-11 18:13
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复