概述
网上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}rn", usbRegistry.FullName);
if (usbRegistry.Open(out usbDevice))
{
Console.WriteLine("Device Informationrn------------------");
Console.WriteLine("{0}", usbDevice.Info.ToString());
Console.WriteLine("VID & PID: {0} {1}", usbDevice.Info.Descriptor.VendorID, usbDevice.Info.Descriptor.ProductID);
Console.WriteLine("rnDevice configurationrn--------------------");
foreach (UsbConfigInfo usbConfigInfo in usbDevice.Configs)
{
Console.WriteLine("{0}", usbConfigInfo.ToString());
Console.WriteLine("rnDevice interface listrn---------------------");
ReadOnlyCollection<UsbInterfaceInfo> interfaceList = usbConfigInfo.InterfaceInfoList;
foreach (UsbInterfaceInfo usbInterfaceInfo in interfaceList)
{
Console.WriteLine("{0}", usbInterfaceInfo.ToString());
Console.WriteLine("rnDevice endpoint listrn--------------------");
ReadOnlyCollection<UsbEndpointInfo> endpointList = usbInterfaceInfo.EndpointInfoList;
foreach (UsbEndpointInfo usbEndpointInfo in endpointList)
{
Console.WriteLine("{0}", usbEndpointInfo.ToString());
}
}
}
usbDevice.Close();
}
Console.WriteLine("rn----- Device information finished -----rn");
}
}
登录后复制
调用
public static void Main(string[] args)
{
PrintUsbInfo();
// Wait for user input..
Console.ReadKey();
}
登录后复制
以上就是C#如何使用LibUsbDotNet实现USB通信的示例详解的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是魁梧樱桃为你收集整理的C#如何使用LibUsbDotNet实现USB通信的示例详解的全部内容,希望文章能够帮你解决C#如何使用LibUsbDotNet实现USB通信的示例详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复