インターネット上には C#USB 通信に関する情報が比較的少ないですが、それらは基本的に LibUsbDotNet と CyUsb に基づいています。また、プリンター機器に関する OPOS もあります。
この記事はLibUsbDotNetに基づいています。
1. LibUsbDotNet インストールファイルをダウンロードしてインストールします。
2. フィルターウィザードを実行し、デバイスフィルターをインストールします。 通信が必要なUSBデバイスを取り付けます。
3. 簡単なコンソールプロジェクトを構築してテストする 以下の図は、通信機器を必要とする情報の印刷を示しています。
関連コード:
引用
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"); } }
電話
public static void Main(string[] args) { PrintUsbInfo(); // Wait for user input.. Console.ReadKey(); }
以上がLibUsbDotNet を使用して C# で USB 通信を実装する方法の詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。