首页后端开发ASP.NETC#如何使用LibUsbDotNet实现USB通信的示例详解

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

时间2024-01-30 14:18:02发布访客分类ASP.NET浏览345
导读:收集整理的这篇文章主要介绍了C#如何使用LibUsbDotNet实现USB通信的示例详解,觉得挺不错的,现在分享给大家,也给大家做个参考。网上C#usb通信的资料比较少, 基本上都是基于LibUsbDotNet 和 CyUsb, 关于打印机...
收集整理的这篇文章主要介绍了C#如何使用LibUsbDotNet实现USB通信的示例详解,觉得挺不错的,现在分享给大家,也给大家做个参考。网上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---------------------");
                            ReadOnlyCollectionUsbInterfaceinfo>
     interfaceList = usbConfigInfo.InterfaceInfoList;
                        foreach (UsbInterfaceInfo usbInterfaceInfo in interfaceList)                        {
                            Console.WriteLine("{
0}
    ", usbInterfaceInfo.ToString());
                                Console.WriteLine("\r\nDevice endpoint list\r\n--------------------");
                                ReadOnlyCollectionUsbEndpointInfo>
     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通信的示例详解的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

csharp

若转载请注明出处: C#如何使用LibUsbDotNet实现USB通信的示例详解
本文地址: https://pptw.com/jishu/592630.html
Asp.net实现文件下载功能 javascript是单进程还是多线程

游客 回复需填写必要信息