求助达人,USB转串口是否遇到过多台设备接入机器,串口冲突?
各位好:
     本人有个设备,内部实现了USB驱动,实现USB转串口,但是如果超过2台接入XP系统就很容易出现串口冲突的问题,表现在接入两台设备,分配一个串口号COM7、COM8,再接入一台设备,结果还是COM7和COM8,感觉像是前面接入的一台设备被冲掉了。
用BUSBOUND抓的数据如下:
Device  Phase  Data                      Description       Cmd.Phase.Ofs(rep)
------  -----  ------------------------  ----------------  ------------------
   27.0  CTL    80 06 00 01  00 00 12 00  GET DESCRIPTOR           1.1.0         
   27.0  DI     12 01 00 02  02 00 00 40  .......@                 1.2.0         
                18 80 84 80  00 02 01 02  ........                 1.2.8         
                00 01                     ..                       1.2.16        
                bLength 0x12
                bDecriptorType 0x01
                bcdUSB 00 02
                bDeviceClass 02
                bDeviceSubClass 00
                bDeveicePortocol 00
                bMaxPacketSize0 40 //64bytes
                idVendor 18 80 //8018
                idProduct 84 80 //8084
                bcdDevice 00 02	//设备发行号
                iManufacturer 01
                iProduct 02
                iSerialNumber 00
                bNumConfigurations 01                                  
   27.0  CTL    80 06 00 02  00 00 09 01  GET DESCRIPTOR           2.1.0         
   27.0  DI     09 02 43 00  02 01 00 c0  ..C.....                 2.2.0         
                32 09 04 00  00 01 02 02  2.......                 2.2.8         
                01 00 05 24  00 10 01 05  ...$....                 2.2.16        
                24 01 00 01  04 24 02 02  $....$..                 2.2.24                 
                bLength 09
                bDescriptorType 02
                wTotalLength 43 00
                bNumInterfaces 02
                bCongfigurationValue 01
                iConfiguration 00
                bmAttrributes c0  ???有错误???
                MaxPower 32                 
                bLength 09
                bDescriptiorType 04
                bInterfaceNumber 00
                bAlternateSetting 00
                bNumendpoints  01
                bInterfaceClass 02	//CDC控制类
                bInterfaceSubClass 02
                bInterfaceProtocol 01
                iInterface 00                                         
   27.0  CTL    00 09 01 00  00 00 00 00  SET CONFIG               3.1.0         
   27.0  CTL    a1 21 00 00  00 00 07 00  GET LINE CODING          4.1.0         
   27.0  DI     00 c2 01 00  00 00 08     .......                  4.2.0         
   27.0  CTL    21 22 00 00  00 00 00 00  SET CTRL LINE ST         5.1.0       
目前实在么有发现哪里有错误啊。
------解决方案--------------------抓的数据看不懂
假设后插入的设备重复用了com8,那把其中一个用com8的设备改到其他端口不可以么
------解决方案--------------------插上设备应该不会有这样的情况啊,串口号应该不相同的啊
------解决方案--------------------
是不是因为你向系统上报虚拟串口设备的时候,用了固定的ID?
可以每次生成个随机的ID或者SN什么的,至少要跟前一次有区别,不然系统会认为这是同一个设备。