我正在使用 LibUsbDotNet 在 C# 中读取和写入 usb,但是当写入 USB 时它只发送第一个字节,所以需要对 UsbEndpointWriter 或 UsbDevice 进行特殊配置?即使我测试 SerialPort 类以发送数据,我也有同样的问题。
PC 将 USB 检测为虚拟 COM 端口。
我的 USB 设备描述符:
STMicroelectronics.- STMicroelectronics Virtual COM Port
OSVersion: Microsoft Windows NT 6.2 .9200 .0 LibUsbDotNet
Version: 2.2 .8 .104
DriverMode: LibUsb
Length: 18
DescriptorType: Device
BcdUsb: 0x0200
Class: Comm
SubClass: 0x02
Protocol: 0x00
MaxPacketSize0: 64
VendorID: 0x0483
ProductID: 0x5740
BcdDevice: 0x0200
ManufacturerStringIndex: 1
ProductStringIndex: 2
SerialStringIndex: 3
ConfigurationCount: 1
ManufacturerString: Altin Payesh Sanat
,Inc.
ProductString: Altins Mono Recorder
SerialString: 00000000001 A
配置 #1 长度:9
DescriptorType:Configuration TotalLength:67 InterfaceCount:2 ConfigID:1
StringIndex:0 Attributes:0xC0 MaxPower:50 ConfigString:
接口 (0,0) 长度:9
DescriptorType:Interface InterfaceID:0 AlternateID:0 EndpointCount:1
Class:Comm SubClass:0x02 Protocol:0x01 StringIndex:0 InterfaceString:
端点 0x82 长度:7
DescriptorType:Endpoint EndpointID:0x82 Attributes:0x03 MaxPacketSize:8
Interval:16 Refresh:0 SynchAddress:0x00
接口 (1,0) 长度:9
DescriptorType:Interface InterfaceID:1 AlternateID:0 EndpointCount:2
Class:Data SubClass:0x00 Protocol:0x00 StringIndex:0 InterfaceString:
端点 0x01 长度:7
DescriptorType:Endpoint EndpointID:0x01 Attributes:0x02 MaxPacketSize:64
Interval:0 Refresh:0 SynchAddress:0x00
端点 0x81 长度:7
DescriptorType:Endpoint EndpointID:0x81 Attributes:0x02 MaxPacketSize:64
Interval:0 Refresh:0 SynchAddress:0x00