4464|4

2

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请教WINCE下USB AUDIO设备驱动问题 [复制链接]

在WINCE6.0上做一个基于PCM2704芯片的USB AUDIO设备驱动。这是一个USB混合设备,有Audio Class 和HID Class两种接口。此设备有三个Interface,分别是Audio Control,Audio Stream,HID Interface。三个EndPoint,分别是Default EP0,Audio Stream Interface EP2 Output Isoc,HID EP5 Input Interrupt。HID用来调节音量大小。

我的问题:
1、把Audio Class 和HID Class的驱动分开成两个DLL实现?还是合并成一个DLL实现?合并实现的话,Audio Class,HID Class的处理都混在一起,这样做不好吧?

2、分开实现的话,在注册表中应该如何设置?才能够将Audio Class 和HID Class分成两个DLL加载?

现在我只能加载上去一个DLL,成功后就不再提示第二个了。
用一个DLL加载的设置如下,能够正常加载DLL文件。
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\2235_9988\Default\Default\UsbAudio_Class]
   "Prefix" = "WAV"
   "Dll" = "UsbAudio.Dll"
   "FriendlyName" = "UsbAudio Driver"

[HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers\UsbAudio_Class]
   "Prefix" = "WAV"
   "Dll" = "UsbAudio.Dll"

3、我尝试在[HKEY_LOCAL_MACHINE\Drivers\HID\LoadClients\2235_9988\Default\12_1\AudioHid]下添加HID设备注册信息,但是驱动DLL加载失败。
12_1 是根据下面的信息确定的
Usage Page: 12 (Consumer)
Usage: 1 (Consumer Control)

4、我又尝试在USBDeviceAttach函数中调用lpLoadGenericInterfaceDriver函数加载HID驱动,虽然返回值表示成功但是却没有任何效果。这个函数怎么用哇~~ MSDN上信息太少啦
我是这样调用的:
lpUsbFuncs->lpLoadGenericInterfaceDriver(hDevice, pUsbAudio->usbhidIF.lpHidIF);
pUsbAudio->usbhidIF.lpHidIF是之前通过lpGetDeviceInfo获取到的HID接口句柄。

5、网上找到一个usb camera的源码来学习,看着好复杂啊~~~ 我都不知道USB Audio驱动该从何处入手了,现在仅仅是实现了USBDeviceAttach,USBInstallDriver,USBUnInstallDriver三个函数,让驱动DLL能够正常加载了,后面该做什么我现在一点头绪都没有。。。
从www.usb.org上DOWN了usb audio class的协议,不知道怎么跟程序联系到一起。
各位前辈有谁做过USB Audio驱动么,希望各位大大能够指点一二,给点思路也好,多谢撒~~~

最新回复

楼主这个驱动做的怎么样了, 我这边也有一个类似的驱动 如果刚兴趣。请联系: QQ :724837559  详情 回复 发表于 2009-7-13 16:15
点赞 关注

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
Audio class 和HID class分别做什么用?这个没看明白
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
终于有人回了,谢谢ls

USB Audio扬声器设备上有调节音量的按钮,HID就是负责接收按钮信息的。Audio Class用来播放音乐的。
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

4
 
自己顶

现在知道了要分成两个DLL加载,一个HID CALSS 一个AUDIO CLASS

目前的问题是:
我只能加载上去一个AUDIO CLASS的DLL,成功后就不再提示第二个了。如何才能把HID的DLL也加载上去呐?HID的注册表怎么设置吖?
注册表是这样设置的:
[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\2235_9988\Default\Default\UsbAudio_Class]
  "Prefix" = "WAV"
  "Dll" = "UsbAudio.Dll"
  "FriendlyName" = "UsbAudio Driver"

[HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers\UsbAudio_Class]
  "Prefix" = "WAV"
  "Dll" = "UsbAudio.Dll"
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

5
 
楼主这个驱动做的怎么样了,
我这边也有一个类似的驱动
如果刚兴趣。请联系:
QQ :724837559
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条
电源解决方案和技术 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表