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

ops/2024/9/22 10:04:40/

文章目录

    • 1.下载LibusbDotNet库
    • 2.引入命名空间
    • 3. 实例化USB设备
    • 4.发送数据
    • 5.关闭连接

1.下载LibusbDotNet库

右击项目选择管理NuGet程序包

在这里插入图片描述
在弹出的界面中搜索LibusbDotNet,然后下载安装。在这里插入图片描述

2.引入命名空间

using LibUsbDotNet;
using LibUsbDotNet.Main;

USB_11">3. 实例化USB设备

//替换自己的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.发送数据

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.关闭连接

myUsbDevice.Close();

http://www.ppmy.cn/ops/113592.html

相关文章

go语言基础入门(一)

变量声明:批量声明变量:变量赋值: 声明变量同时为变量赋值可以在变量声明时为其赋值go中赋值时的编译器会自动根据等号右侧的数据类型自动推导变量的类型使用 : 进行赋值匿名变量 常量常量计数器iota1. 使用场景2. 基本用法3. 简化语法4. 自定义增量5. 复杂使用go的类似枚举 使…

Vue : 生命周期

目录 1. beforeCreate(vu2) 2. created(vu2) 3. setup(vu3) 4. beforeMount 5. mounted 6. beforeUpdate 7. updated 8. beforeDestroy 9. destroyed Vue.js 的生命周期是指 Vue 实例从创建到销毁的整个过程中的各个阶段。在 Vue 中,有多个关键的生命周期钩…

esp32s3 NVS空间读写操作

esp32s3 NVS空间读写操作 非易失性存储 (NVS) 库主要用于在 flash 中存储键值格式的数据。官网介绍 我简单理解就是存放一些简单的键值对。比如账号、密码之类的简单字符。用“键”来访问,反馈回来值。 demo参考示例写的,比较简单,补充如下…

包管理工具

目录 全文概要概念介绍代码共享方案包是什么包管理工具常用的包管理工具 npmnpm 的安装npm 基本使用初始化配置文件搜索包下载安装包require 导入 npm 包基本流程 项目安装生产环境与开发环境生产依赖与开发依赖 npm install 原理package-lock.jsonnpm其他常用命令配置命令别名…

手把手教你-MAC笔记本安装Pytorch环境

MAC笔记安装Pytorch 环境安装 1. 安装brew 方法1 参考: https://www.jianshu.com/p/e0471aa6672d?utm_campaignhugo 使用中科大镜像加速访问: /usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)&qu…

天宝Trimble RealWorks2024.0.2注册机 点云后处理软件 点云三维重建软件

一、功能特色 1、强大的点云数据处理平台 Trimble Realworks2024是市面上先进的点云数据处理软件,能够配准、可视化、浏览和直接处理市面上几乎所有主流品牌扫描仪点云数据,包括Leica、Riegl、ZF、Faro、Topcon等。 2、业界领先的无目标全自动配准 T…

项目实战应用Redis分布式锁

Redis分布式锁 一、前言二、Redis分布式锁过期处理三、Redis分布式实现3.1 基于Jedis 的API实现分布式锁3.1.1 基础命令3.1.2 基于Jedis API的分布式锁3.1.3 基于Lua脚本实现分布式锁 四、Redisson的使用五、Redision锁 核心源码分析六、总结 一、前言 对于项目中使用Redis分布…

kubeadm方式安装k8s+基础命令的使用

一、安装环境 二、前期准备 1.设置免密登录 [rootk8s-master ~]# ssh-keygen [rootk8s-master ~]# ssh-copy-id root192.168.2.77 [rootk8s-master ~]# ssh-copy-id root192.168.2.88 2.yum源配置 3.清空创建缓存 4.主机映射(三台主机都要设置) 5.安装…