There is relatively little information on C# USB communication on the Internet. They are basically based on LibUsbDotNet and CyUsb. There is also an OPOS about printer equipment.
This article is based on LibUsbDotNet.
1. Download and install the LibUsbDotNet installation file.
2. Run Filter Wizard, Install a device filter. Install the USB device that requires communication.
3. Build a simple console project and test it. The picture below shows the information required for printing communication equipment.
Related codes:
Quote
using LibUsbDotNet; using LibUsbDotNet.Main; using LibUsbDotNet.Info;
PrintUsbInfo
public static void PrintUsbInfo() { UsbDevice usbDevice = null; UsbRegDeviceList allDevices = UsbDevice.AllDevices; Console.WriteLine("Found {0} devices", allDevices.Count); foreach (UsbRegistry usbRegistry in allDevices) { Console.WriteLine("Got device: {0}\r\n", usbRegistry.FullName); if (usbRegistry.Open(out usbDevice)) { Console.WriteLine("Device Information\r\n------------------"); Console.WriteLine("{0}", usbDevice.Info.ToString()); Console.WriteLine("VID & PID: {0} {1}", usbDevice.Info.Descriptor.VendorID, usbDevice.Info.Descriptor.ProductID); Console.WriteLine("\r\nDevice configuration\r\n--------------------"); foreach (UsbConfigInfo usbConfigInfo in usbDevice.Configs) { Console.WriteLine("{0}", usbConfigInfo.ToString()); Console.WriteLine("\r\nDevice interface list\r\n---------------------"); ReadOnlyCollection<UsbInterfaceInfo> interfaceList = usbConfigInfo.InterfaceInfoList; foreach (UsbInterfaceInfo usbInterfaceInfo in interfaceList) { Console.WriteLine("{0}", usbInterfaceInfo.ToString()); Console.WriteLine("\r\nDevice endpoint list\r\n--------------------"); ReadOnlyCollection<UsbEndpointInfo> endpointList = usbInterfaceInfo.EndpointInfoList; foreach (UsbEndpointInfo usbEndpointInfo in endpointList) { Console.WriteLine("{0}", usbEndpointInfo.ToString()); } } } usbDevice.Close(); } Console.WriteLine("\r\n----- Device information finished -----\r\n"); } }
Call
public static void Main(string[] args) { PrintUsbInfo(); // Wait for user input.. Console.ReadKey(); }
The above is the detailed content of Detailed example of how to use LibUsbDotNet to implement USB communication in C#. For more information, please follow other related articles on the PHP Chinese website!