none
wince6.0 从驱动到文件系统怎样识别并在系统显示usb设备 RRS feed

  • 常规讨论

  • 目前的问题,是将一个类似于读卡器功能的芯片接到usb hub上,实现用户只要插上sd卡,通过这个芯片实现在系统显示。目前系统正常识别并显示为“硬盘”。问题在于,应用检测目前卡槽有没有sd卡,可是那芯片是连接到电路里,没有类似于插拔usb的操作,从而没有wm_devicechange消息产生,用软件测试后,实际是插拔没有任何消息产生,二插拔另一路usb口得,就有消息产生。既然文件系统能识别,肯定有地方可以实现自定义消息发送,小弟入行不深,请多多赐教!

    2011年8月5日 16:26

全部回复

  • 我不记得WinCE6.0下面有模拟USB  eject和inject的函数。
    建议你做2个hardware改动。
    1. 使用一根GPIO线控制你SD转USB芯片所接的那个USB口的DP pin,当插槽中没有SD card的时候,使用这根GPIO拉低USB的DP pin. 这样,你得MCU就会以为相应的USB口上面没有接设备。当检测到插槽中有SD Card的时候,再release掉拉低信号。
    2. 在SD插槽中增加一个Card detector的机关,就是一个弹簧片,当卡插进来的时候,弹簧片会被压低。用另一根GPIO连上这个弹簧片,再将该GPIO设成rising/falling edge 的中断,就可以通过GPIO上的信号高低,来判断SD的状态了。
    2011年8月6日 3:50
    版主
  • 谢谢,的确硬件这边改动,实现很容易。其实那个充当读卡器功能的芯片有提供检测卡的引脚,硬件没有接到mcu,郁闷!谢谢版主详细解答。
    2011年8月9日 14:46