我正在尝试使用LPC1769微控制器中的批量传输实现USB供应商特定类。 我有一个USB生物识别模块,提取了它的设备信息。因此我配置了以下描述符。
const uint8_t USB_DeviceDescriptor[]={};
const uint8_t USB_ConfigDescriptor[]={};
const uint8_t USB_StringDescriptor[]={};
现在我的USB生物识别设备和我的LPC1769设备具有相似类型的设备信息 (我在Ubuntu PC上看到它使用这个命令“lsusb -v”) 但是,当我将其插入Windows时,它应该来到设备管理器中的USB类(Trident符号列表)。 USB Bio-metric设备列在“通用串行总线控制器”下。
我无法找到任何文档,流程图 任何人都可以指导我如何在特定供应商类别中建立沟通。
USB生物识别设备信息
Bus 003 Device 023: ID 16d1:0407
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x16d1
idProduct 0x0407
bcdDevice 0.00
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 300mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
我的LPC1769 USB设备信息
Bus 003 Device 018: ID 1fc9:2002 NXP Semiconductors
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1fc9 NXP Semiconductors
idProduct 0x2002
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerial 1
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 3
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
提前感谢你。
答案 0 :(得分:1)
bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes
LPC1769仅支持USB全速,因此批量EP的最大wMaxPacketSize
为64字节。只有高速设备支持512字节批量EP。
要运行“供应商特定”类USB设备,您可以使用特定的内核驱动程序或LibUSB / WinUSB作为驱动程序以及用户模式应用程序。
答案 1 :(得分:0)
每当特定USB设备(VID和PID)没有安装驱动程序时,它将显示"?其他设备" 在设备管理器中。但是,对于我的情况,它是在"通信设备类"虽然我有 将我的USB类协议更改为"供应商特定类"。为什么?驱动程序实例正在尝试使用 相同的VID和PID。我改变了与USB Bio-metric设备相同的功能。它显示在" Universal中 串行总线控制器列表"。
现在,您可以使用" Android Studio平台"将其与Android选项卡集成。有一个名为" UsbManager" http://developer.android.com/reference/android/hardware/usb/UsbManager.html
感谢您的参与。