C# USB通信技术(通过LibUsbDotNet库)

文章目录

1.下载LibusbDotNet库

复制代码
右击项目选择管理NuGet程序包

在弹出的界面中搜索LibusbDotNet,然后下载安装。

2.引入命名空间

csharp 复制代码
using LibUsbDotNet;
using LibUsbDotNet.Main;

3. 实例化USB设备

csharp 复制代码
//替换自己的PID和VID,在设备管理器中查看
UsbDeviceFinder myUsbFinder = new UsbDeviceFinder(vid, pid);
UsbDevice myUsbDevice = UsbDevice.OpenUsbDevice(myUsbFinder);
                  
IUsbDevice wholeUsb = myUsbDevice as IUsbDevice;
wholeUsb.SetConfiguration(1);//选择第一个可用配置
wholeUsb.ClaimInterface(0);//使用第一个接口

4.发送数据

csharp 复制代码
byte[] b = Encoding.ASCII.GetBytes(liens);
int bytesWritten;
//配置输出端点
UsbEndpointWriter endpointWriter = myUsbDevice.OpenEndpointWriter(WriteEndpointID.Ep01);
//b:发送的数据
//1000:延时1毫秒
//bytesWritten:发送的字节数
endpointWriter.Write(b, 1000, out bytesWritten);

5.关闭连接

csharp 复制代码
myUsbDevice.Close();
相关推荐
lijingguang3 小时前
在C#中根据URL下载文件并保存到本地,可以使用以下方法(推荐使用现代异步方式)
开发语言·c#
¥-oriented3 小时前
【C#中路径相关的概念】
开发语言·c#
ArabySide4 小时前
【WCF】通过AOP实现基于JWT的授权与鉴权的实践
c#·jwt·aop·wcf
xiaowu0804 小时前
C# Task异步的常用方法
c#
阿蒙Amon4 小时前
C# Linq to Objects 详解:集合处理的终极方案
c#·solr·linq
钢铁男儿4 小时前
C# 委托(调用带引用参数的委托)
java·mysql·c#
番茄小能手5 小时前
【全网唯一】C# 纯本地离线文字识别Windows版dll插件
开发语言·c#
葬歌倾城6 小时前
waferMap图像渲染
c#·wpf
甄天6 小时前
WPF路由事件:冒泡、隧道与直接全解析
c#·wpf·visual studio
专注VB编程开发20年7 小时前
C#,VB.NET从JSON数据里提取数组中的对象节点值
c#·json·.net