搜索
bottom↓
回复: 19

求一个好用的C#的USB-HID的类,最好带有Demo

[复制链接]

出590入992汤圆

发表于 2019-11-22 11:12:29 | 显示全部楼层 |阅读模式
1:论坛找了一个:https://www.amobbs.com/forum.php ... 0&highlight=HID
        这个也是根据之前坛友做的,但是简单测试后,发现有些bug:只能发送64字节,而且:部分情况下搜索不到:HID的SerialNumber。同时存在:只能打开一次,如果关闭,再打开则会报错。
        当然,上面的是暂时找到相对较好的了。里面代码修改下,日后应用问题不大!
2:据说Libusb的HID,还要安装驱动,本来用HID就是为了免驱的,所以尽量还是不要用吧?
3:HID如此通用,为什么微软不像串口一个,在C#中集成一个HID的类?方便我们使用?还是我太菜了?
4:找了一个微软的关于HID的库(好像是),但是研究了几个小时,不知道怎么用的,好像还不错:https://docs.microsoft.com/en-us ... umaninterfacedevice

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2019-11-22 11:23:56 | 显示全部楼层
HIDSharp 可以尝试一下,就是最新版本添加了一些 BLE 的内容后显得有点乱了
https://www.zer7.com/software/hidsharp
https://www.nuget.org/packages/HidSharp/

还有一个 Device.Net, 上手可能比 HIDSharp 麻烦些,调用都是 async/await 的
https://github.com/MelbourneDeveloper/Device.Net
https://www.nuget.org/packages/Device.Net/

出590入992汤圆

 楼主| 发表于 2019-11-22 15:00:02 | 显示全部楼层
wudicgi 发表于 2019-11-22 11:23
HIDSharp 可以尝试一下,就是最新版本添加了一些 BLE 的内容后显得有点乱了
https://www.zer7.com/software ...

谢谢,请问需要安装什么吗?期望编译出的程序在大多windows直接用就好

出0入0汤圆

发表于 2019-11-22 15:11:08 | 显示全部楼层
可以参考libusb

出100入143汤圆

发表于 2019-11-22 15:21:41 | 显示全部楼层
https://www.amobbs.com/thread-5597693-1-1.html?_dsign=f57d537b 这是我当时问的,一直在用

出590入992汤圆

 楼主| 发表于 2019-11-22 15:30:05 | 显示全部楼层
zzh90513 发表于 2019-11-22 15:21
https://www.amobbs.com/thread-5597693-1-1.html?_dsign=f57d537b 这是我当时问的,一直在用

谢谢,不过我C#不太好。
你当初选择的不是窗体应用吧?
请问有窗体应用的程序吗?另外问下:你C#是怎么学的?我完全自学,比较懵~

出590入992汤圆

 楼主| 发表于 2019-11-22 15:32:31 | 显示全部楼层
zzh90513 发表于 2019-11-22 15:21
https://www.amobbs.com/thread-5597693-1-1.html?_dsign=f57d537b 这是我当时问的,一直在用

我运行出来,只看到了这个。所以不明白怎么用的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出100入143汤圆

发表于 2019-11-22 15:40:17 | 显示全部楼层
本帖最后由 zzh90513 于 2019-11-22 15:41 编辑
SUPER_CRJ 发表于 2019-11-22 15:32
我运行出来,只看到了这个。所以不明白怎么用的。






我也是没学过C#,只不过做的usbhid设备客户需要C# dll驱动,临时从坛友求了一个,上面就是我帖子中稍微调整下界面,VID和PID在程序内修改,C#添加简单内容还是很方便的,这个dll带热插拔识别,还是很好用的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出590入992汤圆

 楼主| 发表于 2019-11-22 15:43:45 | 显示全部楼层
zzh90513 发表于 2019-11-22 15:40
我也是没学过C#,只不过做的usbhid设备客户需要C# dll驱动,临时从坛友求了一个,上面就是我帖子中稍 ...

谢谢,这段时间我研究下!

出0入0汤圆

发表于 2019-11-22 16:28:55 | 显示全部楼层
SUPER_CRJ 发表于 2019-11-22 15:30
谢谢,不过我C#不太好。
你当初选择的不是窗体应用吧?
请问有窗体应用的程序吗?另外问下:你C#是怎么学 ...


USB2550HidTest 这个我用过,印象中是用到了 WinForm 的消息处理机制,所以必须要有个窗体,后来不用了

HIDSharp 我现在在用,觉得还可以,Device.Net 最近在尝试用于 WinUSB 设备

LibUsbDotNet 你可以看下 github 上的 commit 历史,一直是半年多一年多不更新,然后就有一个月猛更新,感觉不太可靠的样子
libusb 库本身没什么好评价的,但 LibUsbDotNet 这个 C# wrapper 现在真是觉得不好用

出590入992汤圆

 楼主| 发表于 2019-11-22 16:48:30 | 显示全部楼层
wudicgi 发表于 2019-11-22 16:28
USB2550HidTest 这个我用过,印象中是用到了 WinForm 的消息处理机制,所以必须要有个窗体,后来不用了

...

好的,你们是大神!我现在的只会做含有窗体应用的,刚看了HIDSharp,也许是比较好的库,编译出现什么:含有生成dll。。。什么的,想想留给日后使用了!先把项目做起来!

出0入8汤圆

发表于 2019-11-23 16:51:25 来自手机 | 显示全部楼层
wudicgi 发表于 2019-11-22 11:23
HIDSharp 可以尝试一下,就是最新版本添加了一些 BLE 的内容后显得有点乱了
https://www.zer7.com/software ...

ble,可以操作dongle和2650这种蓝牙芯片通信么,提供数据收发接口么?

出0入0汤圆

发表于 2019-11-23 18:01:06 | 显示全部楼层
justdomyself 发表于 2019-11-23 16:51
ble,可以操作dongle和2650这种蓝牙芯片通信么,提供数据收发接口么?

HIDSharp 的 BLE 没用过
我还是 BLE 刚出来不久的时候 (Android v4.3) 的时候写的相关 C# 程序,用的是 BLED112 这种把 BLE 的 HCI 通过串口暴露出来的 dongle, PC 端有专门的通信控制库
现在 BLE 开发应该可用的库多了不少,可以都试试,一般都有 demo 程序

出0入8汤圆

发表于 2019-11-23 19:23:53 | 显示全部楼层
wudicgi 发表于 2019-11-23 18:01
HIDSharp 的 BLE 没用过
我还是 BLE 刚出来不久的时候 (Android v4.3) 的时候写的相关 C# 程序,用的是 B ...

我用的也是串口dongle,我现在的程序都是分析串口指令,然后照着发送实现的,好苦逼啊

出0入0汤圆

发表于 2019-11-23 20:14:03 来自手机 | 显示全部楼层
LibUsbDotNet不错,各种的例子都有,包括异步的。

出590入992汤圆

 楼主| 发表于 2019-11-27 12:29:57 | 显示全部楼层
zzh90513 发表于 2019-11-22 15:40
我也是没学过C#,只不过做的usbhid设备客户需要C# dll驱动,临时从坛友求了一个,上面就是我帖子中稍 ...

有一个问题想问下:
如果一个USB上有两个相同的产品,也就是VID与PID相同,怎么处理,我看这个例程只是根据VID与PID来实现,可以改成,再增加序列号吗?

出590入992汤圆

 楼主| 发表于 2019-12-11 15:52:34 | 显示全部楼层
zzh90513 发表于 2019-11-22 15:40
我也是没学过C#,只不过做的usbhid设备客户需要C# dll驱动,临时从坛友求了一个,上面就是我帖子中稍 ...

你好,现在已将这个用在了项目上了,还有些不稳定。后期这边我再慢慢改。
现在就想问下:现在生成的exe文件,必须依赖UsbHid.dll这个文件,既然有源码,可以不可以不需要这个dll文件,感觉是个多余的,只需要最后用一个exe文件就可以了!

出100入143汤圆

发表于 2019-12-11 17:10:01 | 显示全部楼层
SUPER_CRJ 发表于 2019-12-11 15:52
你好,现在已将这个用在了项目上了,还有些不稳定。后期这边我再慢慢改。
现在就想问下:现在生成的exe文 ...

静态编译进去就行吧,之前做MFC就有静态编译和动态编译

出590入992汤圆

 楼主| 发表于 2019-12-11 22:54:17 | 显示全部楼层
zzh90513 发表于 2019-12-11 17:10
静态编译进去就行吧,之前做MFC就有静态编译和动态编译

没有发现静态编译,最后用:Imerge,官方微软软件合并的,谢谢!

出590入992汤圆

 楼主| 发表于 2020-3-30 11:31:25 | 显示全部楼层
zzh90513 发表于 2019-12-11 17:10
静态编译进去就行吧,之前做MFC就有静态编译和动态编译

你好,使用了一段时间,发现使用体验不是很好,不知道是哪里的问题:
我使用的单片机程序,收到电脑发来的数据,就会进行返回数据。
用其它的调试HID的软件,几乎没有问题。
1:一开始只要通信上,以后就没有问题。
2:刚连接上第一次发送数据,好像不成功,而且几次都不成功。多等待几次的时候就可以了。
3:用给的Demo和我自己的软件也发现:刚打开软件的时候,会接收到上次发送的剩下的数据。
4:关于通信不成功,本来想使用调试模式查看的,但是一旦进入调试模式,这个问题就一次都没有出现。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 19:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表