使用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設備的實際值。
請注意,在實際項目中,可能需要添加更多的錯誤處理和異常處理代碼,以確保程序的穩定性和健壯性。