C#基于LibUsbDotNet实现USB通信(一)
2017-07-27 11:45
381 查看
网上C#USB通信的资料比较少, 基本上都是基于LibUsbDotNet 和 CyUsb, 关于打印机设备的还有一个OPOS。
本篇文章基于LibUsbDotNet。
1. 下载并安装 LibUsbDotNet 安装文件。
2. 运行Filter Wizard, Install a device filter。 安装需要通信的usb设备。
3. 建一个简单的控制台项目,进行测试, 下图为打印需要通信设备的信息。
相关代码:
引用
PrintUsbInfo
调用
本篇文章基于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(); }
相关文章推荐
- .NET(C#)基于Socket编程实现平行主机之间网络通讯有图片传输的Demo演示
- C#基于TimeSpan实现倒计时效果的方法
- 基于c#实现网站的自动登陆
- 用C#实现基于用C#实现基于TCP协议的网络通讯
- [转]在ASP.NET中如何用C#.NET实现基于表单的验证(一)
- C# 基于大整数类的RSA算法实现(公钥加密私钥解密,私钥加密公钥解密)
- C#实现基于ffmpeg加虹软的人脸识别的示例
- 基于C#实现简单离线注册码生成与验证
- 使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- 用C#实现基于TCP协议的网络通讯
- 基于C#的UDP协议的异步实现
- 基于C#的socket编程的TCP异步实现
- 基于COM技术的ATM自动存款机实现(C#版)
- arcengine cliasic code(转)基于ArcGIS Engine + C#实现用户自定义动态电力符号
- DotNet企业级架构实战之5——基于接口的访问层实现
- 基于C#的UDP协议的异步实现
- 使用C#实现基于TCP和UDP协议的网络通信程序的基本示例
- 基于C#的socket编程的TCP异步实现
- 基于.Net平台应用程序唯一运行实例C#代码实现
- 基于.Net平台应用程序唯一运行实例C#代码实现