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();
相关推荐
柒儿吖13 小时前
三方库 Emoji Segmenter 在 OpenHarmony 的 lycium 适配与测试
c++·c#·openharmony
hoiii18713 小时前
基于C#实现的高性能实时MP4录屏方案
开发语言·c#
yongui4783413 小时前
基于C#实现Modbus RTU通信
开发语言·c#
wula199413 小时前
C# Revit二次开发 地层工程量统计
开发语言·c#
C#程序员一枚13 小时前
大字段查询性能优化终极方案
sql·c#
游乐码1 天前
c#变长关键字和参数默认值
学习·c#
全栈小51 天前
【C#】合理使用DeepSeek相关AI应用为我们提供强有力的开发工具,在.net core 6.0框架下使用JsonNode动态解析json字符串,如何正确使用单问号和双问号做好空值处理
人工智能·c#·json·.netcore·deepseek
wearegogog1231 天前
基于C#的TCP/IP通信客户端与服务器
服务器·tcp/ip·c#
A_nanda1 天前
C#调用Quartz.NET的完整实现。
c#·.net·quartz
2501_930707781 天前
使用C#代码在 PowerPoint 演示文稿中插入表格
开发语言·c#·powerpoint