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();
相关推荐
阿蒙Amon1 小时前
C#每日面试题-值传递和引用传递的区别
java·面试·c#
yj爆裂鼓手2 小时前
unity对象池
unity·c#
Traced back3 小时前
Windows窗体应用 + SQL Server 自动清理功能方案:按数量与按日期双模式
数据库·windows·c#·.net
阿蒙Amon3 小时前
C#每日面试题-索引器和迭代器的区别
开发语言·windows·c#
1314lay_10074 小时前
.Net 7.0 Core 文件导入接口的实现
visualstudio·c#·.net
工业甲酰苯胺5 小时前
C#中的多级缓存架构设计与实现深度解析
缓存·c#·wpf
ye905 小时前
C#中的线程Threads与任务Tasks
c#
William_cl5 小时前
C# ASP.NET强类型视图:让 UI 数据交互告别 “猜谜游戏“
ui·c#·asp.net
Traced back14 小时前
# C# + SQL Server 实现自动清理功能的完整方案:按数量与按日期双模式
开发语言·c#
yj爆裂鼓手14 小时前
c#万能变量
开发语言·c#