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();
相关推荐
zlbcdn2 小时前
C#处理网络传输中不完整的数据流
c#·不完整数据流
FAREWELL000753 小时前
C#进阶学习(九)委托的介绍
开发语言·学习·c#·委托
俊俏的萌妹纸4 小时前
FLinkSQL流-小试牛刀
flink·c#·linq
浅陌sss4 小时前
设计模式 --- 装饰器模式
设计模式·c#
du fei5 小时前
C# 单例模式
java·单例模式·c#
爱吃巧克力的程序媛5 小时前
C# 的 字符串插值($) 和 逐字字符串(@) 功能
c#
爱编程的鱼6 小时前
C# 封装教程
开发语言·c#
tiegenZ8 小时前
C#接口开发异常:System.Web.HttpRequestValidationException
服务器·安全·c#
冒泡P9 小时前
C#常用LINQ
开发语言·c#·linq
佟格湾11 小时前
聊透多线程编程-线程互斥与同步-12. C# Monitor类实现线程互斥
c#·多线程