C#如何使用LibUsbDotNet实现USB通信的示例详解

互联网 17-7-27
网上C#USB通信的资料比较少, 基本上都是基于LibUsbDotNet 和 CyUsb, 关于打印机设备的还有一个OPOS。

本篇文章基于LibUsbDotNet。

  1. 下载并安装 LibUsbDotNet 安装文件。

  2. 运行Filter Wizard, Install a device filter。 安装需要通信的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();          }

以上就是C#如何使用LibUsbDotNet实现USB通信的示例详解的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: csharp
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:C#中关于RabbitMQ应用的图文代码详解

相关资讯