USBSER驱动,3G模块USB转串口

本文讨论了在使用TIAM3715WINCE6.0平台及实创兴3G模块时遇到的USB转串口驱动问题。通过注册表配置解决了无法接收模块回复的问题,同时解释了USBinterface与其枚举设备的关系,并提供了按USB协议加载驱动的方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近弄3G的驱动,发现3G用得是USB转串口的方式。

根据menuconfig的博客:http://blog.youkuaiyun.com/menuconfig/article/details/6122396弄的。

平台:TI AM3715 WINCE6.0

模块:实创兴的一个3G模块

存在几个问题:

1. usb连接后枚举没有问题,打开串口调试助手能看到由一个COM4的设备

2. COM4能打开,也能发送AT指令,但是收不到模块的回复。

3. 在网上下了一个UsbCdcDriver.dll,用它能枚举出5个COM口,AT指令通讯也好使,所以肯定是我们程序的问题

我的注册表如下:

[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\7326\Default\Default\USBSER_CLASS]
   "Prefix"="COM"
   "Dll"="usbcdc.DLL"


[HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers\USBSER_CLASS]
   "Prefix"="COM"
   "Dll"="usbcdc.DLL"
   "DeviceArrayIndex"=dword:1
   "RxBufferSize"=dword:4000
   "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"


[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\1478\Default\Default\SERIAL_CLASS]
   "Prefix"="COM"
   "Dll"="usbcdc.DLL"


[HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers\SERIAL_CLASS]
   "Prefix"="COM"
   "Dll"="usbcdc.DLL"
   "RxBufferSize"=dword:4000
   "DeviceArrayIndex"=dword:0
   "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"

解决问题的方案:

理解 USB interface与其枚举出来的设备的关系,按USB协议来理解,一个interface至少包含一个in端点和一个OUT端点,一个interface可以枚举成一个设备,所以在枚举的时候要把每一个interface用ActivateDevice来加载驱动枚举成一个设备

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值