使用LibUsbSharp可以在C#中进行USB设备编程,以下是一个简单的示例代码:
下面是一个简单的示例代码,用于打开一个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设备的实际值。
请注意,在实际项目中,可能需要添加更多的错误处理和异常处理代码,以确保程序的稳定性和健壮性。