tanjing2002
驱动牛犊
驱动牛犊
  • 注册日期2002-03-15
  • 最后登录2005-01-30
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2541回复:6

多个相同USB设备识别问题

楼主#
更多 发布于:2003-05-11 16:29
本人需要在同一台机子上安装多个相同的USB设备,在机子上怎样识别各个设备?
注:厂家和产品ID均相同.
谢谢各们大侠指点!
plasma
驱动小牛
驱动小牛
  • 注册日期2002-02-19
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-11 21:41
先给分吧!
tanjing2002
驱动牛犊
驱动牛犊
  • 注册日期2002-03-15
  • 最后登录2005-01-30
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-13 20:17
哪有这样的?
不公平!
不过
鉴于你是中级会员
相信你一次
先给十分
剩下的解决了我的问题再给
plasma
驱动小牛
驱动小牛
  • 注册日期2002-02-19
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-05-13 22:50
开玩笑啦!!!!!

有问题大家共同解决吧!!!!!
              

                      哪有这样的?
                      不公平!
                      不过
                      鉴于你是中级会员
                      相信你一次
                      先给十分
                      剩下的解决了我的问题再给

 


看你还挺认真的,不用生气,我告诉你就是!

在驱动中的Guid是一个设备类,应用程序调用时(打开文件操作),对该设备类(Guid)进行枚举,根据枚举的顺序对设备进行标识0,1,2,...,为真正区分不同的设备,在固件程序中应写入不同的标识符

例程:

//自定义打开文件函数
//Devices 为打开设备的序号0,1,2,..
//filename 设备接口的管道名
HANDLE USB_open_file(ULONG Devices,char *filename)
{

//....
//打开设备类
hardwareDeviceInfo = SetupDiGetClassDevs (
                           pGuid,
                           NULL, // Define no enumerator (global)
                           NULL, // Define no
                           (DIGCF_PRESENT | // Only Devices present
                            DIGCF_INTERFACEDEVICE)); // Function class devices.

//枚举相应设备
SetupDiEnumDeviceInterfaces (hardwareDeviceInfo,
                                         0, // We don\'t care about specific PDOs
pGuid,
                                         Devices,
                                         &deviceInfoData)

//...

}
tanjing2002
驱动牛犊
驱动牛犊
  • 注册日期2002-03-15
  • 最后登录2005-01-30
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-05-14 22:31
关键问题就是现在设备固件程序完全一样,该怎么识别?
本人也设计过USB接口设备,现在是应用别人设计的东东,而且要在一台机子上插上N个,每一个设备在应用程序中都要对应起来
哥们还有什么好招没?
哎,累!
plasma
驱动小牛
驱动小牛
  • 注册日期2002-02-19
  • 最后登录2008-02-27
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-05-16 09:47
利用上述方法可以区分每一个设备,利用每一个设备接入的顺序标定,可以一一对应每一个设备.不过最好能在每一个设备中写入识别信息,这需要设备提供相应写入函数,读取识别信息函数,这样可以用程序自动识别了。
tanjing2002
驱动牛犊
驱动牛犊
  • 注册日期2002-03-15
  • 最后登录2005-01-30
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-05-16 23:48
你说的识别方法不太现实,不可能我在每次起动机子之后,再按顺序插一次吧.至于在设备写入固化程序,其实在我接到这个问题的时候也是这么想的,只是全做好了,没法动。不过还是谢谢你捧场!
问题虽没解决,但为了交个朋友,再给你五分。
游客

返回顶部