WINCE下重新枚举USB设备的interface!

caig7317   2009-12-27 23:50 楼主


我现在有一个设备,第一次连接这个设备时,系统枚举出来的interface有一个,是SCSI类的

当移除后,重新枚举,将枚举出另外不同的interface。


现在我已经实现了第一次的移除,想重新枚举,

问题就在这个地方,wince中怎么重新枚举这个设备。



是重启USB 总线吗??

怎么重启


谢谢

回复评论 (9)

MARK, 学习下。
点赞  2009-12-28 10:52
USB的东东没有研究过,帮楼主顶一个
点赞  2009-12-28 10:57
顶一个,我也很想知道
点赞  2009-12-28 11:36
大侠们帮帮忙啊
点赞  2009-12-28 13:09
wince的usbd会处理两次枚举,你也不用移除第一次枚举的interface,只要你的驱动是正确的,wince会枚举完后就会去加载驱动,问一句,你是通过什么移除第一次的枚举的。
点赞  2009-12-28 15:10
给USB Device系统时钟停掉,然后再重新使能,就可以重新枚举了
点赞  2009-12-28 15:16
S3C2416我用这样的语句:

  1. RETAILMSG(1, (_T("Disable USBFN\r\n")));       
  2. pCLKPWR->PWRCFG &= ~ (1<<4);
  3. pCLKPWR->USB_CLKCON = (0<<31)|(0<<2)|(0<<1)|(0<<0);
  4. Sleep(10);
  5. RETAILMSG(1,(TEXT("Enable USBFN\r\n")));
  6. pCLKPWR->PWRCFG |= (1<<4);
  7. pCLKPWR->USB_CLKCON = (1<<31)|(1<<2)|(0<<1)|(0<<0);        
点赞  2009-12-28 17:21
在禁止USB期间复位USB相关端点寄存器,并设置新的描述符等。
点赞  2009-12-28 17:24
问题已经解决了,我搞错方向了,谢谢各位,不应该重启总线
点赞  2009-12-28 23:28
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复