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

2019-03-23 18:13发布

大家好,我试图在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条回答
lvxn
1楼-- · 2019-03-24 03:12
/ 自顶一个
zly883
2楼-- · 2019-03-24 08:28
报告问题
yujiang89
3楼-- · 2019-03-24 08:48
 精彩回答 2  元偷偷看……
我是前行的狮子
4楼-- · 2019-03-24 12:42
朋友,你好,能否指导一下usb声卡的程序,我这里在64位系统和32位系统上声音都变了,而且都有杂音,不知道怎么一回儿事儿,我的QQ:358962436,谢谢
hujili
5楼-- · 2019-03-24 17:55
你好,小弟初学STM32单片机的USB,对USB不了解,现在想做USB声卡,能把您源码给我一份吗?谢谢!
可以的话,请发我邮箱  775241263@qq.com  

一周热门 更多>