温馨提示×

如何在C#中使用LibUsbSharp进行USB设备编程

c#
小樊
165
2024-08-14 17:10:39
栏目: 编程语言

使用LibUsbSharp可以在C#中进行USB设备编程,以下是一个简单的示例代码:

  1. 首先在Visual Studio中创建一个新的C#控制台应用程序项目。
  2. 在项目中右键点击“引用”,然后选择“管理NuGet程序包”。
  3. 在NuGet包管理器中搜索“libusb”, 安装LibUsbSharp。

下面是一个简单的示例代码,用于打开一个USB设备并读取其描述符信息:

using System;
using LibUsbDotNet;
using LibUsbDotNet.Main;

class Program
{
    static void Main()
    {
        // 初始化LibUsb
        UsbDeviceFinder MyUsbFinder = new UsbDeviceFinder(0x1234, 0x5678); // 替换为你的USB设备的VendorID和ProductID
        UsbDevice MyUsbDevice = UsbDevice.OpenUsbDevice(MyUsbFinder);

        if (MyUsbDevice == null)
        {
            Console.WriteLine("USB设备未找到");
            return;
        }

        // 打开USB设备
        MyUsbDevice.Open();

        // 读取设备描述符信息
        UsbConfigInfo configInfo = MyUsbDevice.Configs[0];
        UsbInterfaceInfo interfaceInfo = configInfo.InterfaceInfoList[0];

        Console.WriteLine("USB设备描述符信息:");
        Console.WriteLine($"VendorID: {MyUsbDevice.Info.Descriptor.VendorID}");
        Console.WriteLine($"ProductID: {MyUsbDevice.Info.Descriptor.ProductID}");
        Console.WriteLine($"Manufacturer: {MyUsbDevice.Info.ManufacturerString}");
        Console.WriteLine($"Product: {MyUsbDevice.Info.ProductString}");
        Console.WriteLine($"SerialNumber: {MyUsbDevice.Info.SerialString}");

        // 关闭USB设备
        MyUsbDevice.Close();
    }
}

在以上代码中,我们首先初始化LibUsb并打开一个USB设备,然后读取设备的描述符信息并输出到控制台。记得将示例中的VendorID和ProductID替换为你的USB设备的实际值。

请注意,在实际项目中,可能需要添加更多的错误处理和异常处理代码,以确保程序的稳定性和健壮性。

0